67 setType:
function( type, name ){
68 this.defaults.type = type;
69 this.defaults.name = name;
71 get:
function( elem, opts ){
72 var settings = $.extend({},this.defaults,opts);
74 if ( !settings.single.length ) settings.single =
'metadata';
76 var data = $.data(elem, settings.single);
78 if ( data )
return data;
82 if ( settings.type ==
"class" ) {
83 var m = settings.cre.exec( elem.className );
86 }
else if ( settings.type ==
"elem" ) {
87 if( !elem.getElementsByTagName )
89 var e = elem.getElementsByTagName(settings.name);
91 data = $.trim(e[0].innerHTML);
92 }
else if ( elem.getAttribute != undefined ) {
93 var attr = elem.getAttribute( settings.name );
98 if ( data.indexOf(
'{' ) <0 )
99 data =
"{" + data +
"}";
101 data = eval(
"(" + data +
")");
103 $.data( elem, settings.single, data );
118 $.fn.metadata =
function( opts ){
119 return $.metadata.get(
this[0], opts );