检查jquery元数据是否存在?

时间:2009-10-17 20:23:08

标签: jquery metadata

似乎无法找到有关此Google搜索的任何信息。希望这并不意味着你不能这样做。 我正在尝试检查元素上是否存在元数据。因此,如果我有<a href="#" class="myclass {myid:2,text:bla}">之类的元素,使用我的点击功能,我会使用$(this).hasClass('myid')$(this).hasClass({'myid'})。有可能这样做吗?

您还可以动态添加元数据吗?如果我尝试$(this).addClass({some:data}),它会将它添加到类中,但我无法使用metadata()读取它。

2 个答案:

答案 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并不会太难。那么,可以随意修改。 (实际上,如果有人还没有写过这样的插件,我会感到很惊讶。)