检查jquery元数据是否存在?

检查jquery元数据是否存在?,jquery,metadata,Jquery,Metadata,似乎找不到有关谷歌搜索的任何信息。希望这并不意味着你做不到。 我试图检查元素上是否存在元数据。因此,如果我有一个像这样的元素,我会使用$(this).hasClass('myid')或$(this).hasClass({'myid'})。有可能这样做吗 还可以动态添加元数据吗?如果我尝试$(this).addClass({some:data}),它会将它添加到类中,但我不能用metadata()读取它。据我所知,它是只读的,并且它还缓存它构造的对象,这样它就不必重新解析属性值等等。如果您想要一个

似乎找不到有关谷歌搜索的任何信息。希望这并不意味着你做不到。 我试图检查元素上是否存在元数据。因此,如果我有一个像
这样的元素,我会使用
$(this).hasClass('myid')
$(this).hasClass({'myid'})
。有可能这样做吗


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

据我所知,它是只读的,并且它还缓存它构造的对象,这样它就不必重新解析属性值等等。如果您想要一个读写解决方案,那么编写一个小函数来提取元数据并将其添加到应用程序中并不难。因此,可以随意修改。(事实上,如果没有人写过这样的插件,我会有点惊讶。)

据我所知,插件是只读的,它还缓存它构造的对象,这样就不必重新解析属性值等等。如果您想要一个读写解决方案,那么编写一个小函数来提取元数据并将其添加到应用程序中并不难。因此,可以随意修改。(事实上,如果没有人写过这样的插件,我会有点惊讶。)

听起来你想使用

您可以像这样在任何元素上存储和检索数据

//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')
);

听起来您想使用

您可以像这样在任何元素上存储和检索数据

//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')
);

你的意思是:不知道如何使用它。你的意思是:不知道如何使用它。嗯,我的情况是,我有多个元素与同一个类。最初我使用的id是:xx-1-1,xx-1-2,xx-1-3。xx只是填充,因为id不能以数字开头。破折号之间的第二个值是我的id,最后一个值就在那里,所以id是唯一的。现在我使用元数据{myid:1}。所以我可能有15个class=“myclass”的元素,其中5个是{myid:1},另外5个是{myid:2},最后5个是{myid:3}。假设我想对元数据为myid:2的类使用addClass(),我该怎么做?我很困惑。忽略ID和类等。您试图完成的是什么?根据您的最后一句话,听起来您想向元素的“集合”中添加一个CSS类。有两种简单的方法可以做到这一点:(A)向集合中的所有项目添加一个类(您可以有多个)。。e、 g.“group1”(不必为其设置任何样式),然后只需使用$('.group1').addClass('special');选项(B),使用.data()向“集合”中的每个元素添加信息,然后查询您关心的每个元素,查看它是否有数据集。选项(A)是最好的。对不起,我想我不清楚。基本上,我想在元数据上使用addClass、removeClass、hasClass等,但似乎不行。或者看看是否有像addMetadata这样的特殊函数,但看起来没有。嗯,我的情况是,我有多个元素和同一个类。最初我使用的id是:xx-1-1,xx-1-2,xx-1-3。xx只是填充,因为id不能以数字开头。破折号之间的第二个值是我的id,最后一个值就在那里,所以id是唯一的。现在我使用元数据{myid:1}。所以我可能有15个class=“myclass”的元素,其中5个是{myid:1},另外5个是{myid:2},最后5个是{myid:3}。假设我想对元数据为myid:2的类使用addClass(),我该怎么做?我很困惑。忽略ID和类等。您试图完成的是什么?根据您的最后一句话,听起来您想向元素的“集合”中添加一个CSS类。有两种简单的方法可以做到这一点:(A)向集合中的所有项目添加一个类(您可以有多个)。。e、 g.“group1”(不必为其设置任何样式),然后只需使用$('.group1').addClass('special');选项(B),使用.data()向“集合”中的每个元素添加信息,然后查询您关心的每个元素,查看它是否有数据集。选项(A)是最好的。对不起,我想我不清楚。基本上,我想在元数据上使用addClass、removeClass、hasClass等,但似乎不行。或者看看是否有诸如addMetadata之类的特殊功能,但看起来似乎没有。