【问题标题】:Count all first list items in ul计算 ul 中的所有第一个列表项
【发布时间】:2015-04-17 18:26:54
【问题描述】:

我想知道如何计算 div 中的所有列表项。

<ul class="menu">
    <li><a href="#">Home</a>
    </li>
    <li><a href="#">Contact</a>
    </li>
    <li><a>Information</a>
        <ul>
            <li><a href="#">History</a>
            </li>
            <li><a href="#">Present</a>
            </li>
            <li><a href="#">Future</a>
            </li>
        </ul>
    </li>
    <li><a>Tutorials</a>
        <ul>
            <li><a href="#">HTML/CSS</a>
            </li>
            <li><a href="#">Javascript</a>
            </li>
            <li><a href="#">Jquery</a>
            </li>
            <li><a href="#">PHP</a>
            </li>
        </ul>
    </li>
    <li><a href="#">Structure</a>
    </li>
</ul>

如何计算ul class=menu 中的所有列表元素?而不是更深的 UL 中的列表项。

我的意思是如何计算 Home、Contact、Information、Tutorials、Structure,而不是我刚才提到的列表元素。

当然,我做了一些研究,但找不到正确的答案。 这里有点重复:jQuery: Count number of list elements?

【问题讨论】:

  • 该问题明确指出提问者不希望 LI 嵌套在 UL.menu 以外的任何 UL 中

标签: javascript jquery html count html-lists


【解决方案1】:

使用&gt; 子选择器:

$('ul.menu>li').length

或.children():

$('ul.menu').children('li').length

【讨论】:

  • 非常感谢,这是我的回答。我使用了函数大小,但这对我没有用。但是 > 箭头是干什么用的?我还没有看到它被用在 CSS 中?不好意思,在这里学习不要复制粘贴
  • @KrijnvanderBurg 您会在文档中找到大量信息:developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
  • > 指直接后裔
  • 谢谢@David 现在我想我完全理解了。非常感谢!
  • 只是作为较新浏览器的替代方案,并且不使用 jQuery:document.querySelectorAll('ul.menu &gt; li').length 工作方式相同
【解决方案2】:

另一个问题是 jQuery,所以我回答 jquery,试试这个来计算你的 li 元素

var count = $('ul.menu').children('li').length;

DEMO

【讨论】:

  • 为什么要投反对票?请解释一下......因为演示工作正常
  • 在您进行编辑之前,您的答案被否决(不是我)
  • 因为 OP 并没有搜索所有 li 只是第一级。你的答案是 12 而不是 5。
  • 感谢您帮助我。这也有效,但我坚持大卫的回答,只是因为它更小。非常感谢您帮助我!
  • 是的,大卫的答案是正确和最好的答案,但我很高兴能帮助你@KrijnvanderBurg
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 1970-01-01
  • 2011-03-04
  • 2013-04-15
  • 2010-11-22
  • 1970-01-01
相关资源
最近更新 更多