我有一个清单
<ul>
<li>
<li>
<li>
...
</ul>
我需要jQuery来计算列表中的项目数。
答案 0 :(得分:179)
您可以使用.length
,如下所示:
var count = $("ul li").length;
.length
告知选择器找到了多少匹配项,因此这会计算您拥有的<li>
元素下的<ul>
个数...如果有子子元素,请使用{{1}而只是获得直接孩子。如果您的网页中有其他"ul > li"
元素,只需将选择器更改为仅匹配其中的元素,例如,如果它具有您使用的<ul>
ID。
在您不知道子类型的其他情况下,您可以使用"#myListID > li"
(通配符)选择器或*
,如下所示:
.children()
或:
var count = $(".parentSelector > *").length;
答案 1 :(得分:6)
你不需要jQuery。您可以使用JavaScript .childNodes.length
。
如果您不想包含默认文本节点(默认为空),请确保减去1。因此,您可以使用以下内容:
var count = elem.childNodes.length - 1;
答案 2 :(得分:1)
尝试使用:
var count = $("ul > li").size();
alert(count);
答案 3 :(得分:0)
如果您使用此选项来确定当前选择器以查找其子项,该怎么办?
所以这有:<ol>
然后在<li>
下如何编写选择器
var count = $(this+"> li").length;
无法工作..
答案 4 :(得分:0)
您可以使用jQuery来做到这一点:
此方法获取其子级列表,然后计算该列表的长度,就这么简单。
$("ul").find("*").length;
find()方法沿着子代向下遍历DOM,一直向下到最后一个子代。
注意: children()方法遍历DOM树的单个级别。
答案 5 :(得分:0)
您可以使用Element.childElementCount
参考:https://developer.mozilla.org/en-US/docs/Web/API/Element/childElementCount
let count = ThatParentElement.childElementCount;