使用jQuery选择具有特定数据的元素

时间:2010-12-20 17:12:08

标签: javascript jquery select

是否可以使用jQuery数据方法设置一些数据,然后再进行查询?像...一样找到数据foo == true的所有元素?

2 个答案:

答案 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"]')