【问题标题】:jquery count li's in top level UL顶级UL中的jquery count li
【发布时间】:2011-04-12 16:41:13
【问题描述】:

我需要计算顶级 UL 中 LI 的数量。

我的顶级菜单中有 6 个项目,但这可能会动态变化。我认为这可以工作,但它仍然在计算孩子 li 的 :(

var numTopNavItems = 0;

$("ul.rmHorizontal > li").each(function (i) {

    numTopNavItems += i;
    alert("numTopNavItems = " + numTopNavItems);
});

任何想法为什么会这样?

谢谢, 詹姆斯

【问题讨论】:

  • 如果您将+= i 更改为+= 1,它应该可以工作。你的 HTML 是什么?

标签: jquery list count iteration


【解决方案1】:

计算匹配元素个数的正确方法是

var numTopNavItems = $("ul.rmHorizontal > li").length;
alert("numTopNavItems = " + numTopNavItems);

只要只有顶级<ul> 具有类rmHorizontal,该方法就应该有效。如果没有,请尝试选择器

"ul.rmHorizontal:first > li"

改为。

【讨论】:

    【解决方案2】:

    知道了,谢谢:

    var count = $("#myList").children().length;
    

    【讨论】:

    • 这将计算ul 的所有子代,而不仅仅是li。是的,唯一应该ul 的直接子元素的是li 标签,但有些页面可能不支持这一点。
    • 感谢 Piskvor,我使用了下面的示例 ;)
    猜你喜欢
    • 2022-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2015-07-24
    • 1970-01-01
    相关资源
    最近更新 更多