/* * metadata - jquery plugin for parsing metadata from elements * * copyright (c) 2006 john resig, yehuda katz, j�örn zaefferer, paul mclanahan * * dual licensed under the mit and gpl licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * revision: $id: jquery.metadata.js,v 1.1 2012/02/29 04:04:23 lihaibo.300.cn exp $ * */ (function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},settype:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.classname);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getelementsbytagname)return;var e=elem.getelementsbytagname(settings.name);if(e.length)data=$.trim(e[0].innerhtml);}else if(elem.getattribute!=undefined){var attr=elem.getattribute(settings.name);if(attr)data=attr;}if(data.indexof('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jquery);