是否可以使用jQuery数据方法设置一些数据,然后再进行查询?像...一样找到数据foo == true的所有元素?
答案 0 :(得分:26)
您可以使用.filter()
选择所需的元素,如下所示:
$("someSelector").filter(function() { return $.data(this, "foo"); });
在这种情况下,因为你正在检查一个布尔值,所以非常简单,为了检查一个值,只需添加比较,如下所示:
$("someSelector").filter(function() { return $.data(this, "foo") == "value"; });
答案 1 :(得分:5)
仅使用data
API而不循环遍历DOM中的每个元素,并检查它是否包含具有指定值的数据项,这是不可能的。
如果数据很简单,也许您可以使用HTML5数据属性,这些属性也可以通过选择器进行搜索。
$("selector").attr("data-key", "theKey");
稍后使用
选择具有值"data-key"
的名为true
的属性的所有对象
$('[data-key="true"]')