似乎无法找到有关此Google搜索的任何信息。希望这并不意味着你不能这样做。
我正在尝试检查元素上是否存在元数据。因此,如果我有<a href="#" class="myclass {myid:2,text:bla}">
之类的元素,使用我的点击功能,我会使用$(this).hasClass('myid')
或$(this).hasClass({'myid'})
。有可能这样做吗?
您还可以动态添加元数据吗?如果我尝试$(this).addClass({some:data}),它会将它添加到类中,但我无法使用metadata()读取它。
答案 0 :(得分:4)
听起来您想使用 jQuery.data(name, [value]);
您可以像这样使用它来存储和检索任何元素的数据。
//store values on the element
$('#someID').data('secret','My voice is my password, verify me.');
$('#someID').data('age',33);
$('#someID').data('name','Jasper');
$('#someID').data('occupation','Toy maker');
//retrieve values from the element
alert(
'Hi my name is ' + $('#someID').data('name') +
' i\'m ' + $('#someID').data('age') +
' i\'m a ' + $('#someID').data('occupation') +
' oh, and ' + $('#someID').data('secret')
);
答案 1 :(得分:1)
据我所知,metadata extracted by that plugin是只读的,它还会缓存它构造的对象,这样就不必重新解析属性值等。如果你想要一个读写解决方案,那么编写一个能够提取元数据的小函数并将其添加到standard jQuery data store并不会太难。那么,可以随意修改。 (实际上,如果有人还没有写过这样的插件,我会感到很惊讶。)