如何用javascript实现jQuery中siblings()的效果
javaScript,有nextSibling,previousSibling,找下一个节点,上一个节点。nextElementSibling,previousElementSibling,找下一个元素节点,上一个元素节点。n如果你要获取所有的siblings,那么就遍历。
比如ul下的li
var get_ul = document.querySelector('ul'),
get_lis = get_ul.getElementsByTagName('li'),
sib_eles = [];
var getSiblings = function(element) {
for(var i=0;i<get_lis.length;++i) {
if(get_lis[i] === element) {
continue;
}
sib_eles.push(get_lis[i]);
}
return sib_eles;
}
var a = document.querySelector("li"),
siblings = function( n, elem ) {
var matched = [];
for ( ; n; n = n.nextSibling ) {
if ( n.nodeType === 1 && n !== elem ) {
matched.push( n );
}
}
return matched;
},
brother = siblings( a.parentNode.firstChild , a );
console.info( brother )
siblings()是jQuery源码
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决