遍历所有节点,抄的代码

//遍历元素节点
function walk(ele, walk, start, all) {
var el = ele[start || walk];
var list = [];
while (el) {
if (el.nodeType == 1) {
if (!all) return el;
list.push(el);
}
el = el[walk];
}
return all ? list : null;
}

//获取上一个元素节点
function getPrev(ele) {
    return ele.previousElementSibling || walk(ele, "previousSibling", null, false);
}

//获取下一个元素节点
function getNext(ele) {
    return ele.nextElementSibling || walk(ele, "nextSibling", null, false);
}

//获取第一个元素子节点
function getFirst(ele) {
    return ele.firstElementChild || walk(ele, "nextSibling", "firstChild", false);
}

//获取最后一个元素子节点
function getLast(ele) {
    return ele.lastElementChild || walk(ele, "previousSibling", "lastChild", false);
}

//获取所有子元素节点
function getChilds(ele) {
    return ele.children || walk(ele, "nextSibling", "firstChild", true);
}

你可能感兴趣的:(遍历所有节点,抄的代码)