珠峰培训

获取指定标签名的元素子节点的方法-javascript示例

作者:

2011-09-20 16:39:15

692

 /*

珠峰培训 2011年9月7日课堂示例
获取指定标签名的元素子节点的方法
此方法用来获取ele这个元素下的所有元素子节点,第二个参数可选,表示指定子元素的标签名
*/
function getElementChildren(ele,tagName){
//此方法用来获取ele这个元素下的所有元素子节点,第二个参数可选,表示指定子元素的标签名
if(!ele&&!ele.nodeType && ele.nodeType!==1){
//第一个参数为必传,如果没有传参数,则'arguments error!'提示
//不但第一个参数必传,还必须是个DOM对象,并且是元素类型的对象
alert('arguments error!')
return
}
//if(!ele.nodeType && ele.nodeType!==1)
//return;
 
var a=[]
var children=ele.childNodes;
if(tagName){//判断一下是不是传了第二个参数
if(typeof tagName!='string'){//判断第二个参数的类型是不是正确
alert('第二个参数类型不对!arguments[1] is error!')
return;
}
for(var i=0;i<children.length;i++){
//判断既是元素节点,还要标签名匹配
if(children.item(i).nodeType===1&&children.item(i).tagName.toLowerCase()==tagName.toLowerCase()){
a.push(children.item(i));
}
}
}else{//没有传第二个参数,则这样做(既不用考虑标记名)
for(var i=0;i<children.length;i++){
if(children.item(i).nodeType===1){
a.push(children.item(i))
}
}
}
return a;//最终返回的这个数值,就是ele的所有
}