javascript - 如何获取一个类的所有元素而不是另一个类的所有元素?

标签 javascript css-selectors

在我的 DOM 中有这些元素:

<div class="myclass yourclass"></div>
<div class="myclass"></div>
<div class="myclass"></div>
<div class="myclass yourclass"></div>
<div class="myclass"></div>
<div class="myclass yourclass"></div>

我需要获取我类的所有 div 但不是你类的(因此在上述情况下我需要获取 3 个元素)。 我试过这个但不起作用:

document.querySelectorAll('.myclass:not([.yourclass])')

最佳答案

querySelectorAll 中不需要[],这是无效语法。

您可以使用 querySelectorAll 中的任何 CSS 选择器。请参阅下面的演示。(使用 CSS 着色,请参阅 console 获取 javascript 结果)

var myClassElements = document.querySelectorAll('.myclass:not(.yourclass)');
console.log(myClassElements);
div {
  color: red;
}
.myclass:not(.yourclass) {
  color: green;
}
<div class="myclass yourclass">a</div>
<div class="myclass">b</div>
<div class="myclass">c</div>
<div class="myclass yourclass">d</div>
<div class="myclass">e</div>
<div class="myclass yourclass">f</div>

:not()

关于javascript - 如何获取一个类的所有元素而不是另一个类的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32144199/

相关文章:

javascript - Sails-mongo 在两个日期之间获取结果

java - 如何使用 selenium 和 java 在模态窗口中单击“确定”按钮?

css - 是否有 CSS 父级选择器?

javascript - ASP.NET 拖放

JavaScript |使用变量添加月份至今时出现错误结果

javascript - js `Number` 类型加起来等于无穷大吗?

javascript - 如何在 HTML 中打印 jquery get?

java - Jsoup 从 .text() 中排除 child

java - 无法使用 java 选择 Selenium Webdriver 中的复选框

javascript - 如何为每个有大写字母的单词添加不同的颜色?