HTMLDocument.prototype.getChildrenAll = function(node){
// childs存放子元素
var els = {},childs = [];
// 判断选择器类型,id、class
switch(node.substr(0,1))
{
case '#':
els[0] = document.getElementById(node.substr(1));
els.length = 1; // 避免后面for没有length
break;
case '.':
els = document.getElementsByClassName(node.substr(1));
break;
default:
els = document.getElementsByTagName(node);
}
for(let i in els){
var node = els[i].childNodes; // 子节点集
for(let j in node){
// 当节点类型为元素且父节点为els[i]
if(node[j].nodeType === 1 && node[j].parentNode === els[i]){
childs.push(node[j]);
}
}
}
// 若无子元素则返回 null
return childs.length !== 0 ? childs : null;
}
var cor = document.getChildrenAll("div");
console.log(cor);
// 改变子元素样式操作
for (let i in cor){
cor[i].style.color = "red";
}
JavaScript 练习 模拟 children() 方法
最新推荐文章于 2021-07-21 09:36:41 发布