原生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]);
}

返回一个数组,然后遍历输出。