原生javascript获取指定对象所有子孙元素集合的代码
不限制层级、不区分标签名、不区分样式名,通过原生javascript代码获取所有子元素,包括子元素的子元素(孙元素)的集合,可以通过定义一个数组,然后多次嵌套使用javascript的children
属性获取子元素存储到数组来实现,代码很简单,效率不详!
代码示例
HTML代码
<div id="tddx-entry"> <p> <span></span> </p> <h2> <i></i> </h2> <h3> <span></span> </h3> <p> <span> <i></i> </span> </p> </div>
javascript代码
function tddx_getChild(tddx){ if(tddx.children){ var tddxChild = tddx.children }else{ var tddxChild = ''; } return tddxChild; } function tddx_getAllChild(tddxObj,tddxArr){ var allchild = tddx_getChild(tddxObj); var tddxLen = allchild.length; if(tddxLen > 0){ for(var i=0; i<tddxLen; i++){ tddx_getAllChild(allchild[i], tddxArr); tddxArr.push(allchild[i]); } } return tddxArr; } var setChildTddx = []; var tddx = document.getElementById('tddx-entry'); var tddxChild = tddx_getAllChild(tddx,setChildTddx); for(var i=0; i<tddxChild.length; i++){ console.log(tddxChild[i]); }
返回一个数组,然后遍历输出。