JavaScript原生获取当前页面中元素的数量
这是js代码
window.onload=function(){
waterfull('main','box');
}
function waterfull(parent,box){
//将main下的所有class为box的元素取出来
var oParent=document.getElementById(parent);
var oboxs=getele(oParent,box);
console.log(oboxs.length);
}
function getele(Parent,clsname){
var boxarr=new Array();//class为box的元素集合
var oElements=Parent.getElementsByClassName('*');
//遍历所有的子元素,取出所有class为box的元素,并且放入数组中;
for(i=0;i<oElements.length;i++){
if(oElements[i].className==clsname){
boxarr.push(oElements[i]);
}
}
return boxarr;
}
这是html
<div id="main">
<div class="box">
<div class="pic">
<img src="./images/1.jpg" />
</div>
</div>
<div class="box">
<div class="pic">
<img src="./images/2.jpg" />
</div>
</div>
</div>
新手求解答,我在控制台打印出来为什么显示0啊!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不能用 * 号当通配符,得写具体的classname,你还不如直接写box,这样就会找到两个,要么使用var oElements=Parent.querySelectorAll("*");
一步步log下,就知道哪错了