假设我有一个 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 遍历。目前我正在向根 div 添加一个临时 ID,但这似乎是一个丑陋的黑客......