原生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
|
function sibling( elem ) { var r = []; var n = elem.parentNode.firstChild; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 && n !== elem ) { r.push( n ); } } return r; } |
思路:先找到此元素的父节点的第一个子节点,然后循环查找此节点的下一个兄弟节点,一直到查找完毕。
注意:调用的是所有其他同级元素,是一个数组!
分享创造价值
学习成就梦想
我是前方录
微信/QQ:34419369
加我好友,每天都有不一样的分享!
学习更多网站知识,请加QQ群:632528856;