JQuery查找元素与数据对象

JQuery Find Elements With Data Object

本文关键字:数据 对象 元素 查找 JQuery      更新时间:2023-09-26

我想找到一个容器内的所有元素,有一个特定的数据属性设置为1,以及所有的元素,没有这个属性设置。

data属性如下:

$("#element").data("activate")

取值为1或0。如果一个元素没有"激活"数据属性集,我想把它当作一个0。

我现在有以下代码:

$("#content").find("[data-activate='0']").off();

但是我也想这样做:

$("#content").find("all where data-activate NOT exists").off();

您可以使用:not:

$('#content :not([data-activate])').off();

filter():

$('#content div').filter(function() {
    return !$(this).attr('data-activate');
}).off();
$("#content").find(":not([data-activate])").off();

TRY

$("#content div").map(function {
    $(this).data("activate","1") 
}

这将简单地将data-activate = 1添加到#content中的所有div中,无论该属性是0还是不存在

您可以同时使用两个选择器来选择元素,用逗号分隔它们(选择器)

  1. :不()选择器。
  2. 属性=选择器。

    $("#content [data-activate='0'], #content :not([data-activate])").off();