原生js获取同级其它全部兄弟元素的方法如下;

第一种方法

代码如下
1
2
3
4
5
6
7
8
function siblings(elm) {
var a = [];
var p = elm.parentNode.children;
for(var i =0,pl= p.length;i<pl;i++) {
if(p[i] !== elm) a.push(p[i]);
}
return a;
}

思路:先获取此元素的父节点的所有子节点,因为所有子节点也包括此元素自己,所以要从结果中去掉自己。

第二种方法

代码如下

1
2
3
4
5
6
7
8
9
10
11
functionsibling( elem ) {
varr = [];
varn = elem.parentNode.firstChild;
for( ; n; n = n.nextSibling ) {
if( n.nodeType === 1 && n !== elem ) {
r.push( n );
}
}
returnr;
}

思路:先找到此元素的父节点的第一个子节点,然后循环查找此节点的下一个兄弟节点,一直到查找完毕。

注意:调用的是所有其他同级元素,是一个数组!

 

 


 

分享创造价值

学习成就梦想

我是前方录

微信/QQ:34419369

加我好友,每天都有不一样的分享!

学习更多网站知识,请加QQ群:632528856

Leave a Reply

邮箱地址不会被公开。 必填项已用*标注