重複の可能性:
querySelectorAll を使用する場合、ID を使用せずにコンテキスト ノードの直接の子を参照する方法はありますか?
私がやろうとしているのは、指定された要素が css セレクターと一致するかどうかを確認することです。そして、私が知っている限り、親ノードを取得し、querySelectorAllが見つけたものをループして、見つかったノードが最初のノードと同じかどうかを最後に確認する方法しかありません。しかし、問題は、ループを小さくする必要があるプールを作成する方法です。
コード:
function querySelectorMatch(node,query) {
var found = node.parentNode.querySelectorAll(query);
for (var i = 0; i<found.length; i++) {
if (found[i] === node) return true;
}
return false;
}
わかりました、これは機能しますが、ループがリソースを消費しすぎていると思います。わかりました、親ノードにIDまたはクラスがあるかどうかを確認し、それをクエリに追加できますparent#id.class > query
...しかし、コードはとにかく同じ決定を行う必要があるため、影響を受けるリソースに関しては同じにはなりませんが、ハードウェアに近づくでしょう...わかりません。
(jQueryはやめてください。)