1

重複の可能性:
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はやめてください。)

4

0 に答える 0