次のような HTML 構造があるとします。
<div id="a">
<div id="b">
<div id="c"></div>
</div>
</div>
querySelectorAll を使用して「a」の子に対してクエリを実行するには、次のようなことができます
//Get "b", but not "c"
document.querySelectorAll('#a > div')
私の質問は、ノードを直接参照して、ID なしでこれを行うことは可能ですか? やってみた
var a_div = document.getElementById('a')
a_div.querySelectorAll('> div') //<-- error here
しかし、使用したセレクターが無効であるというエラーが表示されます。
そして、誰かが疑問に思っている場合に備えて、私の実際の使用例は '> .foo .bar .baz' のようなもっと複雑なものになるので、手動の DOM トラバーサルは避けたいと思います。現在、一時IDをルートdivに追加していますが、それは醜いハックのようです...