2016-10-31 45 views
1

我的问题是如何使用jQuery data()选择具有特定数据值的对象?例如:jquery数据属性选择器的值集

$('[data-infos-parent_id=0]').html('it ok'); 
<div class="question" data-infos='{"parent_id":0,"my_id":0, "title":""}'> 

感谢您的帮助。

回答

2

您可以在这里使用.filter().data(key)将获取随元素存储的任意数据,它会尝试将其转换为适当的数据类型。

$('.question[data-infos]').filter(function(){ 
    return $(this).data('infos')["parent_id"] == 0; 
}).html('it ok'); 
+0

感谢的是做工精细 – Nacereddine

+1

哇,我不知道你可以直接访问一个保存在data属性中的json对象而不用解析它。 – rorymorris89

1

试试这个

https://jsfiddle.net/w1paL17d/

$('.question').each(function(){ 
    var json = JSON.parse($(this).attr('data-infos')); 
    if(json.parent_id === 0){ 
     $(this).html('it ok'); 
    } 
}); 
+0

想你全部 – Nacereddine

+0

代码转储对新手用户没有用处。你应该总是试着解释你所做的改变和原因。 – Satpal