Javascript querySelectorAll 数据属性值不等于

标签 javascript html css-selectors

<分区>

我的 HTML 标签有一个 [data-value] 属性,可以是 0、1、2 等等。

如果我想获取[data-value]不等于0的元素,我该如何编写查询选择器?

我尝试了以下但它们不起作用:

element.querySelectorAll("not[data-value='0']");
element.querySelectorAll("[data-value!='0']");

最佳答案

为避免选择其他 div,请使用 div[data-value]:not([data-value="0"]):

console.log(
    document.querySelectorAll('div[data-value]:not([data-value="0"])')
);
<div data-value="-1">0</div>
<div data-value="0">0</div>
<div data-value="1">1</div>
<div data-value="2">2</div>
<div>3</div>

这将选择所有具有数据值且其值不为 0 的 div。

关于Javascript querySelectorAll 数据属性值不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53075694/

相关文章:

javascript - CSS Hover Selector - JS 或 Jquery 解决方案

jquery - 悬停时更改类的属性

javascript - 如何从 backbone.js 中的集合调用模型方法?

javascript - 函数调用的奇怪行为

javascript - 多次调用多次链接 Promise.all() 的最佳方法

html - 如果用户点击关闭按钮,总是隐藏 div

html - 无法使 CSS 按钮可点击

javascript - 将类添加到最近的 ul

javascript - Jasmine, 'Controller' 不是函数,未定义

CSS 输入[类* ="span"]