JQuery使用数据对象查找元素

时间:2013-01-07 12:32:13

标签: javascript jquery jquery-selectors

我想找到容器中具有某个数据属性设置为1的所有元素以及根本没有设置此属性的所有元素。

数据属性如下:

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

它可以具有值1或0.如果元素没有“激活”数据属性集,我想将其视为0。

我目前有以下代码:

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

但是我也想做这样的事情:

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

即元素没有设置属性。

4 个答案:

答案 0 :(得分:3)

您可以使用:not

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

filter()

$('#content div').filter(function() {
    return !$(this).attr('data-activate');
}).off();

答案 1 :(得分:3)

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

答案 2 :(得分:0)

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

  1. :not() Selector
  2. Attribute Equals Selector

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

答案 3 :(得分:0)

TRY

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

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