【发布时间】:2012-04-28 17:08:33
【问题描述】:
假设您有一个包含嵌套子列表的列表。
<ul>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
</li>
<li></li>
</ul>
并使用document.querySelectorAll() 进行选择:
var ul = document.querySelectorAll("ul");
如何使用ul 集合来获取直接子元素?
ul.querySelectorAll("> li");
// Gives 'Error: An invalid or illegal string was specified'
假设ul 以某种方式被缓存(否则我可以直接完成ul > li)。
在 jQuery 中这有效:
$("ul").find("> li");
但它不在本机 querySelectorAll 中。有什么解决办法吗?
【问题讨论】:
-
那个选择器真的没有意义。使用 jQuery,您将使用
.children("li")而不是.find("> li")。实际上,我很惊讶这完全有效。 -
@MДΓΓБДLL
.find('> li ul span')很有用,但不像 OP 的示例中那样单独使用。 -
@MДΓΓБДLL 这个例子有点做作,但它肯定有一个真实的用例:)
标签: javascript html css dom selectors-api