如何选择没有特定类的元素

2022-08-30 04:28:16

我想知道如何使用JavaScript而不是jQuery来选择没有特定类的元素。

例如,我有这个列表:

<ul id="tasks">
  <li class="completed selected">One Task</li>
  <li>Two Task</li>
</ul>

我通过以下方式选择完成的任务:

var completeTask = document.querySelector("li.completed.selected");

但是,我不确定如何选择没有这些类的列表项。


答案 1

这将选择第二个元素。LI

document.querySelector("li:not([class])")

document.querySelector("li:not(.completed):not(.selected)")

例:

// select li which doesn't have a 'class' attribute...
console.log(document.querySelector("li:not([class])"))

// select li which doesn't have a '.completed' and a '.selected' class...
console.log(document.querySelector("li:not(.completed):not(.selected)"))
 <ul id="tasks">
    <li class="completed selected">One Task</li>
    <li>Two Task</li>
  </ul>

答案 2

要选择 没有也没有类:<li>completedselected

document.querySelector("li:not(.completed):not(.selected)");

小提琴

http://jsfiddle.net/Z8djF/