jQuery:排除列表树(UL)的根元素



我一直在使用堆栈溢出中的一块jQuery代码。这是指向页面的链接:

https://stackoverflow.com/questions/2...76196#13976196

我需要隐藏除根元素以外的大型UL树结构。上面的代码效果很好,除了我无法理解以下行:

代码:

$('ul, li', $('#lesson-sidebar ul li')).hide();

该代码隐藏了列表中的所有UL和LI项目,但不包括根元素。我不明白添加$('#lesson-sidebar ul li')作为Second选择器参数如何将其排除在hide命令中。

我知道hide命令不会切换可见状态,所以这并不是像他们隐藏了根元素并立即显示。大多数其他描述依赖于:不排除根元素的命令。

任何人都可以解释为什么根部元素没有被该命令隐藏吗?请注意,如果我删除$('#lesson-sidebar ul li')部分,则根部元素实际上是隐藏的。

$('ul, li', $('#lesson-sidebar ul li'))表示

选择所有ulli,即$('#lesson-sidebar ul li')

这是该选择器$('children selector', parent)的模式如您在示例中所看到的,父母不是字符串,它是dom或jQuery元素

最新更新