js的nextSibling,屬性兼容IE和FF等瀏覽器

Firefox中 空白字符,好比回車,空格等也算做一個Nodenode

就是firstChild,nextsbiling這兩個.
下面給出函數吧.仍是代碼比較說明問題
代碼都是網上來的.
不過要注意的是,getNext和getFirstChild是不同的
next是下一個,同級別的下一個,不會取到本身這個節點的子節點.dom

多是由於對dom的理解不同ie和firefox對firstChild,nextSbiling的處理不太同樣.
因此要取到下一個結點,只能用type來判斷了.函數


function getNextSibling(startBrother){
  endBrother=startBrother.nextSibling;
  while(endBrother.nodeType!=1){
    endBrother = endBrother.nextSibling;
  }
  return endBrother;
}firefox

function getNextSibling1(obj){
if(obj.nextSibling.nodeType==3) {
sibling=obj.nextSibling.nextSibling; // Moz. Opera
}
else {
sibling=obj.nextSibling; // IE
}
return sibling;
}
function getFirstChild(obj){
for (i=0; i<obj.childNodes.length; i++){
if (obj.childNodes[i].nodeType==1)
    return obj.childNodes[i];
else 
    continue;
}get

相關文章
相關標籤/搜索