【发布时间】:2013-04-30 20:25:41
【问题描述】:
使用 jquery 似乎有两种方法可以在 DOM 内的无序列表中查找列表项。
$("ul>li");
和
$("ul").find("li");
为什么后者可能更可取?似乎需要更多代码才能获得相同的结果。
【问题讨论】:
-
find选择所有匹配的后代元素,>是直接子选择器。这说明你还没有阅读 jQuery 文档。 -
你错了。对于任何
ul,$("ul>li")将只找到第一个li,其中$("ul").find("li")将在每个ul中找到所有li。您的意思是在第一种情况下:$("ul li")对吗? -
视情况而定。在大多数情况下,尝试根据性能决定使用哪个版本是未成熟的优化,因此在大多数情况下,选择更易于维护和/或易于阅读/理解的版本而不是担心哪个版本更有意义更快。
-
@WooCaSh 不,它会找到每个 ul 的所有直接子级,即 li。但是,是的,
$("ul li")将是正确的比较。 -
@KevinB 对。它只找到第一层的所有 li,其中
find在 ul 下的每一层。
标签: jquery css jquery-selectors