Javascript jQuery/JS-计算元素中的元素
在jQuery或JS中,我需要计算父DIV中名为Javascript jQuery/JS-计算元素中的元素,javascript,jquery,Javascript,Jquery,在jQuery或JS中,我需要计算父DIV中名为cont的DIV元素的数量?我在StackOverflow上看到过类似的问题,并尝试了以下方法 <div class="b-load" id="cont"> <div> <img src="page2.jpg" alt=""/> </div> <div> <img src="page3.jpg" alt="" /> </di
cont
的DIV元素的数量?我在StackOverflow上看到过类似的问题,并尝试了以下方法
<div class="b-load" id="cont">
<div>
<img src="page2.jpg" alt=""/>
</div>
<div>
<img src="page3.jpg" alt="" />
</div>
<div>
<img src="page4.jpg" alt="" />
</div>
<div>
<img src="page5.jpg" alt="" />
</div>
</div>
function countPages() {
var maindiv = document.getElementById('cont');
var count = maindiv.getElementsByTagName('div').length;
alert(count);
}
函数countPages(){
var maindiv=document.getElementById('cont');
var count=maindiv.getElementsByTagName('div').length;
警报(计数);
}
子DIV是动态生成的,因此我需要在页面完成加载后对它们进行计数。我的问题是我写的函数计数13个DIV,在这个例子中,应该只有4个!!感谢您的帮助。试试这个
console.log($("#cont div").length);
$(function(){
var mainDiv = $('#cont');
var childDivCount = mainDiv.find('div').length;
});
顺便说一句,这是jQuery用于document ready的语法(无论如何都是其中之一)。这将仅在页面完成加载后触发。无需在此处使用jQuery。如果您只需要知道childElements的数量,可以使用node.childElementCount它正确地显示了4-我所做的不同之处是使用[body onload=“countPages()”]我刚刚将getElementsByTagName('div')更改为getElementsByTagName('img')我得到了正确的数字,但我仍然很震惊,我得到了一个不同于小提琴示例的数字!!也许你的页面上有第二个元素,上面有
id=cont
?@ŠimeVidas:你错了。如果id是选择器的第一部分,那么Jake的方式是最快的。Ref:@Interrobang在该线程中接受的答案表明添加上下文可以提高性能。但是,在这个问题中没有提到#foo div
选择器……公认的答案是,除了ID选择器之外,添加上下文可以提高性能,并且线程中还提供了一个JSPerf链接。
var maindiv = document.getElementById('cont');
var count = maindiv.children.length;
alert(count);