首页 > 建站教程 > JS、jQ、TS >  js原生获取当前节点的兄弟节点正文

js原生获取当前节点的兄弟节点

获取上一个、下一个兄弟节点,jQuery非常方便,next()和prev()方法即可。但有时候可能只是简单的操作以下DOM,没必要引入这么大的框架,js通过nextElementSibling和previousElementSibling或nextSibling和previousSibling也能获取,只不过要做下兼容,代码如下:
//获取下一个兄弟节点
function getNextElement(element) {
    if (element.nextElementSibling) {
        return element.nextElementSibling;
    } else {
        // 下一个兄弟节点
        var next = element.nextSibling;
        while (next && 1 !== next.nodeType) {
            next = next.nextSibling;
        }
        return next;
    }
}
//获取上一个兄弟节点
function getPrevElement(element) {
    if (element.previousElementSibling) {
        return element.previousElementSibling;
    } else {
        // 上一个兄弟节点
        var prev = element.previousSibling;
        while (prev && 1 !== prev.nodeType) {
            prev = prev.previousSibling;
        }
        return prev;
    }
}
以上代码亲测可行。