JavaScript封装函数:获取下一个/上一个兄弟元素节点

  • A+
所属分类:Web前端
摘要

获得下一个兄弟元素节点:获得上一个兄弟元素节点:有如下两兄弟标签:获得下一个兄弟元素节点:
输入:


要求:

  1. 获得下一个/上一个兄弟元素节点,不包括文本节点等
  2. 解决IE兼容性问题

代码实现:

获得下一个兄弟元素节点:

function getNextElement(element) {     var el = element;     while (el = el.nextSibling) {         if (el.nodeType === 1) {             return el;         }     }     return null; } 

获得上一个兄弟元素节点:

function getPrevElement(element) {     var el = element;     while (el = el.previousSibling) {         if (el.nodeType === 1) {             return el;         }     }     return null; } 

实现效果:

有如下两兄弟标签:

<div>div</div> <span>span</span> 

获得下一个兄弟元素节点:
输入:

var div = document.querySelector('div'); console.log(getNextElement(div)); 

输出:

<span>span</span> 

获得上一个兄弟元素节点:
输入:

var span = document.querySelector('span'); console.log(getPrevElement(span)); 

输出:

<div>div</div>