我有一个代码,我需要在其中查找li
标签的数量,而不是嵌套的标签的数量。
<ul class="ulStart">
<li>
<ul class="ulNested">
<li></li>
<li></li>
</ul>
</li>
<li></li>
</ul>
做
document.querySelector('.ulStart').getElementsByTagName('li')
给我4个<li>
,这不是我想要的,我希望li
中存在ulStart
个标签的数量。让我知道是否有办法。没有jQuery,纯JavaScript。
答案 0 :(得分:4)
let count = document.querySelectorAll("ul.ulStart > li").length;
console.log(count);
<ul class="ulStart">
<li>
<ul class="ulNested">
<li></li>
<li></li>
</ul>
</li>
<li></li>
</ul>
使用>
(直接子级)CSS选择器。参见MDN - Child selectors。
答案 1 :(得分:2)
console.log(document.querySelectorAll('.ulStart > li').length);
<ul class="ulStart">
<li>
<ul class="ulNested">
<li></li>
<li></li>
</ul>
</li>
<li></li>
</ul>
答案 2 :(得分:1)
<ul class="ulStart">
<li>
<ul class="ulNested">
<li></li>
<li></li>
</ul>
</li>
<li></li>
</ul>
尝试使用以下查询选择器:
console.log(document.querySelectorAll('.ulStart > li').length);
结果:
HTMLCollection(2) [li, li]