【发布时间】:2020-01-09 17:49:30
【问题描述】:
考虑给您一个节点node,并且您必须提供选择器Direct 给出的所有直接子节点。直接子代的选择器是:
childParent > directChild
但是,以下操作失败并在控制台中出现错误:
document.body.querySelectorAll(">div")
SyntaxError: '>div' is not a valid selector
我有一个函数需要在选择的直接子节点上执行某些操作,但我不确定如何处理。当然除了使用for 循环并用我自己的代码分析孩子,完全放弃选择器。
以下代码不起作用。是否可以对其进行更改以达到预期目的?
function doWithDirectChildren(parentNode) {
// does not work, the selector is invalid
const children = parentNode.querySelector(">.shouldBeAffected");
for(const direct of children) {
// do something with the direct child
}
}
我要求的是解决方案,而不是解决方法。
【问题讨论】:
-
什么是根节点?身体?
-
如果总是
body你可以document.querySelectorAll('body > div') -
jQuery 解决了这个问题api.jquery.com/children
-
如果不包括 jQuery,我想说@JeffreyWesterkamp 的评论是要走的路。