要求:
- 獲得下一個/上一個兄弟元素節(jié)點,不包括文本節(jié)點等
- 解決IE兼容性問題
代碼實現:
獲得下一個兄弟元素節(jié)點:
function getNextElement(element) {
var el = element;
while (el = el.nextSibling) {
if (el.nodeType === 1) {
return el;
}
}
return null;
}
獲得上一個兄弟元素節(jié)點:
function getPrevElement(element) {
var el = element;
while (el = el.previousSibling) {
if (el.nodeType === 1) {
return el;
}
}
return null;
}
實現效果:
有如下兩兄弟標簽:
<div>div</div>
<span>span</span>
獲得下一個兄弟元素節(jié)點:
輸入:
var div = document.querySelector('div');
console.log(getNextElement(div));
輸出:
<span>span</span>
獲得上一個兄弟元素節(jié)點:
輸入:
var span = document.querySelector('span');
console.log(getPrevElement(span));
輸出:
<div>div</div>
|