本文介绍了一种通过遍历节点并校验父级关系来获取元素第一级子元素的方法。针对childNodes返回所有后代节点的局限,该方案利用nodeType和parentNode属性筛选直接子节点,适用于需要精确控制DOM层级结构的场景。
JavaScript 获取元素第一级子元素的实现方法
在 JavaScript 中,childNodes 属性会返回包含所有子节点(包括文本节点和注释节点)的节点列表,这往往不符合仅获取直接子元素的需求。
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 ;
}
以上介绍的方法旨在解决获取元素第一级子元素的问题,供开发者参考使用。