特定のクラスを持たない要素を選択する方法 質問する

特定のクラスを持たない要素を選択する方法 質問する

jQueryではなくJavaScriptを使用して、特定のクラスを持たない要素を選択する方法を知りたいです。

たとえば、次のようなリストがあります:

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

完了したタスクを次のように選択します。

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

しかし、それらのクラスを持たないリスト項目を選択する方法がわかりません。

ベストアンサー1

これにより、2 番目の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>

おすすめ記事