此方法参考jquery,写了一个很简单的递归。目前测试是没有问题的,由于时间有限,没有做更多的处理,请慎用!
/*
在某元素下,寻找指定name的元素(只获取第一个),
@param name:要查找的元素的name
@param dom:在此元素下查找
使用案例:
var result = xFind_Name("c1", x[0]);
@return 如果找到返回元素,如果没有找到返回null
*/
function xFind_Name(name, dom) {
if (dom.attributes.name.value == name) {
//找到则返回dom
return dom;
}
//没有找到此元素
if (dom.length == 0) {
return null;
}
if (dom.children.length == 0) {
return null;
}
for (var i = 0; i < dom.children.length; i++) {
if (dom.children.length > 0) {
var result = xFind_Name(name, dom.children[i]);
if (result != null) {
return result;
}
} else {
return null;
}
}
return null;
}
实例体验:点击打开链接