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

时间:2012-12-20 16:25:56

标签: jquery html-lists root

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

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

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

代码:

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

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

我知道hide命令不会切换可见状态,因此它们不会像隐藏根元素并立即显示它一样。大多数其他描述依赖于以下命令:不排除根元素。

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

1 个答案:

答案 0 :(得分:3)

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

选择ul

的所有li$('#lesson-sidebar ul li')

以下是该选择器$('children selector', parent)的模式 正如您在示例中所看到的,parent不是字符串,而是DOM或jQuery元素