- A+
所属分类:Web前端
要求:
- 获得下一个/上一个兄弟元素节点,不包括文本节点等
- 解决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>