A-A+

原生的javascript如何获取第一级子元素

2015年10月22日 JavaScript 暂无评论 阅读 59 次

原生的javascript如何获取第一级子元素

var objUl = document.getElementById('menu');
//这个是原生态写法,效率不够高,但是可以使用,有空优化一下
function getChildren(obj){
var objChild = [] ;
var objs = obj.getElementsByTagName('*');
for(var i=0,j=objs.length; i<j;++i){
if(objs[i].nodeType != 1){alert(objs[i].nodeType);
continue ;
}
var temp = objs[i].parentNode;
if(temp.nodeType == 1){
if(temp == obj){
objChild[objChild.length] = objs[i] ;
}
}else if(temp.parentNode == obj){
objChild[objChild.length] = objs[i] ;
}
}
return objChild ;
}

var obj = getChildren(objUl);
alert(obj.length);
alert(obj[0].innerHTML);
alert(obj[3].innerHTML);

 

如果只是想要第一个LI元素:

document.getElementById('main').getElementsByTagName('li')[0]

如果想要深入第一个不存在UL的LI元素,请参考如下代码:

//深度获取第一个原始
function getFirstLi(id){
var obj = null ;
if(typeof id == 'object'){
obj = id ;
}else{
obj = document.getElementById(id);
}
obj = obj.getElementsByTagName('li')[0];
if(obj.getElementsByTagName('ul').length > 0){
return getFirstLi(obj);
}
return obj;
}

原文地址:http://www.softwhy.com/forum.php?mod=viewthread&tid=7355

标签:

给我留言

Copyright © web前端技术开发个人博客 保留所有权利  京ICP备14060653号 Theme  Ality

用户登录