0. 子节点
返回元素的所有子节点(兼容到IE6)
function getChildren(node) {
var children = [];
for (var i = 0; i < node.childNodes.length; i++) {
if (node.childNodes[i].nodeType == 1) {
children.push(node.childNodes[i]);
}
}
return children;
}
console.log(getChildren(box));
1. 兄弟节点
返回元素的前一个兄弟节点(兼容到IE6)
function getElementPrevSibling(node) {
var o = node;
while (o.previousSibling != null) {
if (o.previousSibling.nodeType == 1) {
return o.previousSibling;
}
o = o.previousSibling;
}
return null;
}
console.log(getElementPrevSibling(para));
2. 所有节点
返回元素的所有兄弟节点(兼容到IE6)
function getAllElementSibling(node) {
var prevs = [];
var nexts = [];
var o = node;
while (o.previousSibling != null) {
if (o.previousSibling.nodeType == 1) {
prevs.unshift(o.previousSibling);
}
o = o.previousSibling;
}
var o = node;
while (o.nextSibling != null) {
if (o.nextSibling.nodeType == 1) {
nexts.push(o.nextSibling);
}
o = o.nextSibling;
}
return prevs.concat(nexts);
}
console.log(getAllElementSibling(para));