復制代碼 代碼如下:
function siblings(o){//參數o就是想取誰的兄弟節點,就把那個元素傳進去
var a=[];//定義一個數組,用來存o的兄弟元素
var p=o.previousSibling;
while(p){//先取o的哥哥們 判斷有沒有上一個哥哥元素,如果有則往下執行 p表示previousSibling
if(p.nodeType===1){
a.push(p);
}
p=p.previousSibling//最後把上一個節點賦給p
}
a.reverse()//把順序反轉一下 這樣元素的順序就是按先後的了
var n=o.nextSibling;//再取o的弟弟
while(n){//判斷有沒有下一個弟弟結點 n是nextSibling的意思
if(n.nodeType===1){
a.push(n);
}
n=n.nextSibling;
}
return a//最後按從老大到老小的順序,把這一組元素返回
}