在jQuery中根据数据属性过滤项目

时间:2017-12-14 07:36:32

标签: jquery

我有一个使用

找到的jQuery项目列表
var groupedItems = $('div[data-group-id="'+groupId+'"]');

每个分组的项目都有一个名为

的属性
data-info={"isAvailable":"true","isValid":"false"}
来自groupsItem的

我想要filterOut只有属性isAvailable = true。

如何基于数据属性进行过滤?

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery filter()方法过滤jQuery集合,以及使用data()方法获取属性的位置。

var groupedItems = $('div[data-group-id="' + groupId + '"]');

var res = groupedItems.filter(function() {
  // since property value starts with {, the data method
  // would parse if it's a valid JSON. So simply get the
  // property from the object and compare
  return $(this).data('info').isAvailable == 'true';
})

答案 1 :(得分:1)

您可以使用filter过滤在groupedItems数据属性中isAvailable设置为true的{​​{1}}。使用info访问数据属性。



data()

var groupId = 1;
var groupedItems = $('div[data-group-id="'+groupId+'"]');
var info = groupedItems.filter(function(){ 
  return $(this).data('info').isAvailable == 'true';
});
console.log(info);