js 怎么获取body中的所有元素 不只是body的子元素,还有子元素的子元素

js 怎么获取body中的所有元素 不只是body的子元素,还有子元素的子元素,第1张

两种方式:

第一种纯js,使用递归:

<script>

/

第一个参数为页面元素对象或者数组

第二个参数为回调函数回调函数默认传递一个函数,即当前对象

/

function Each(obj,fun){

if('function'!==typeof(fun) || !obj){

return false;

}

if('undefined'!==typeof(objlength)){

for(var i=0;i<objlength;i++){

var o=obj[i];var r=fun(o)||true;

if(r===true){

r=Each(ochildren,fun);

if(!r) return false;

}

}

}else{

var r=fun(obj)||true;

if(r===true){

r=Each(objchildren,fun);

if(!r) return false;

}

}

}

</script>

用法:

//

Each(documentgetElementsByTagName("body"),function(obj){

if(objnodeName==="UL")//obj为当前遍历到的对象

return false;//如果返回false就会停止遍历

alert(objnodeName);

});

第二种方法,使用jquery:

$("body ")each(function(i, obj){

alert( "Item #" + i + ": " + obj );

});

如果你只需要获取最里层的第一个 li 的话,可以用documentquerySelector("on > ul >on")

如果还想获取最里层的所有 li 的话 ,可以用documentquerySelectorAll("on > ul >on")

,最好是给每个ul 加个类名,选择子元素的时候,就不用写那么多层了。

假设HTML结构如下:

<div class="parent">

    <div id="child1"></div>

    <div id="child2"></div>

</div>

则对应的JS代码为:

var child1 = documentgetElementById('child1'),

    child2 = documentgetElementById('child2');

var height = Mathmax(child1offsetHeight, child2offsetHeight);

child1parentNodestyleheight = height + 'px';

以上就是关于js 怎么获取body中的所有元素 不只是body的子元素,还有子元素的子元素全部的内容,包括:js 怎么获取body中的所有元素 不只是body的子元素,还有子元素的子元素、<ul>标签两层嵌套如何在js中找到第二层<li>标签,不用获取id的方法。两层<li>标签的class是一样的。、JS jq 获取两个子元素高度 判断最大值赋值给父元素 动态加载的 怎麽弄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9763107.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存