JavaScript querySelectorAllでclass名からnot指定も含めてHTML要素を取得する
環境
Google Chrome 111.0.5563.147
Windows 10 Home 64bit
書式
document.querySelectorAll(“.クラスA:not(.クラスB)");
HTML要素からclass名「クラスA」が付与されているHTML要素のうち「クラスB」が付与されていない要素を取得したい場合、
querySelectorAll()を使用します。
特定のclass名を否定(not指定)したhtml要素を取得します。
使用例
<!DOCTYPE html> <html> <body> <div id="item1" class="tA">太郎</div> <div id="item2" class="tB">山田</div> <div id="item3" class="tA tC">吉田</div> <br> <button onclick="show()">表示</button> <script> function show() { // class名「tA」が付与されているHTML要素のうち「tB」が付与されていない let target = document.querySelectorAll(".tA:not(.tB)"); //要素1の出力 console.log(target[0]); // 要素2の出力 console.log(target[1]); } </script> </body> </html>
実行結果
「表示」ボタンを押すと、コンソール画面に下記メッセージを出力します。
<div id="item1″ class="tA">太郎</div>
<div id="item3″ class="tA tC">吉田</div>