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