使用jQuery过滤特定的嵌套无序列表

时间:2014-05-03 17:20:41

标签: jquery

做一个关于jQuery的教程我试图巧妙地改变课程来挑战自己,但没有太多运气。我在这里重新创建了一个工作原型http://jsfiddle.net/dwlamb/gph6b/

最初运行时,会显示定义明细("周一至周五9-5和#34;)。所有其他定义细节将隐藏,直到鼠标进入另一个定义列表项。这是通过jQuery第一行中的dd上的过滤器实现的。

我是如何在此示例中实现相同的初始外观:http://jsfiddle.net/dwlamb/DjR9b/

我想在初始运行时隐藏商店B和C的商店营业时间,并且(最终)对其进行编程,以便当鼠标进入另一个第一级列表项(Store?Hours)时,只有那些小时可见。我无法找到一种方法来深入挖掘和过滤父ul下面ul的第二和第三次出现

1 个答案:

答案 0 :(得分:1)

如果你改变了:

$('ul ul').filter(':nth-child(n+3)').addClass('hide');

为:

$('ul ul').filter(':gt(0)').addClass('hide');

它将隐藏除第一个之外的所有二级无序列表。它通过获取所有嵌套无序列表的集合并对其进行过滤来实现此目的,以便只有大于(.gt())的列表保留在活动选择中。

这甚至可以缩短为:

$('ul ul:gt(0)').addClass('hide');

过滤是作为选择的一部分而不是作为第二个单独步骤完成的。

相关问题