jQuery循环使用嵌套的<li>元素:gt </li>

时间:2009-04-09 13:23:24

标签: jquery

希望你能提供帮助。试图隐藏所有&lt; li>标签大于&lt;中的第三个标签ul&gt;。然而,发生的事情是在前3&lt; li>标签,所有后续&lt; li>方言:gt(2)隐藏在所有后续&lt; ul&gt;。

这是我的HTML结构。

  • 列表标题
    • 第1项
    • 第2项
    • 第3项
    • 应隐藏
    • 应隐藏
  • 列表标题
    • 第1项
    • 第2项
    • 第3项
    • 应隐藏
    • 应隐藏
  • 列表标题
    • 第1项
    • 项目2
    • 第3项
    • 应隐藏
    • 应隐藏

这是我的jQuery。

$("ul li ul li:gt(2)").each(function () {
    $(this).hide();
});

如果您需要更多信息,请告诉我们。 谢谢!

2 个答案:

答案 0 :(得分:3)

嗯,我想不出用一个选择器解决这个问题的方法,但你可以用两个选择器来做到这一点:

$("ul li ul").each(function () {
    $(this).find("li:gt(2)").hide();
});

答案 1 :(得分:0)

尝试这样的事情:

var counter;
$("ul").each(function() {
    counter = 1;
    $(this).children("li").each(function() {
        if (counter > 3) $(this).hide()
        counter++;
    });
});