為什么 申明了x,而且給x賦值了,var x=n.nextSibling; 在while循環(huán)中又賦值一次,豈不是為兄弟節(jié)點(diǎn)的兄弟節(jié)點(diǎn)了??
為什么 ? 申明了x,而且給x賦值了,var x=n.nextSibling; ?在while循環(huán)中又賦值一次,豈不是為兄弟節(jié)點(diǎn)的兄弟節(jié)點(diǎn)了??難道我理解錯(cuò)了?
????function?get_nextSibling(n){ ????????var?x=n.nextSibling; ????????while?(x?&&?x.nodeType!=1){ ???????????x=x.nextSibling; ????????} ????????return?x; ????}
2015-09-02
在while之前是為了獲得下一個(gè)兄弟節(jié)點(diǎn),【因?yàn)镮nternet Explorer 會(huì)忽略節(jié)點(diǎn)間生成的空白文本節(jié)點(diǎn)(例如,換行符號(hào)),而其它瀏覽器不會(huì)忽略?!坎⒉恢朗窃毓?jié)點(diǎn),還是文本節(jié)點(diǎn),所以在while循環(huán)中只篩選出了元素節(jié)點(diǎn),只是排除了不是元素節(jié)點(diǎn)的情況,并沒有再次給x賦值。
2015-08-18
這里在函數(shù)里 var?x,代表x是局部變量,只在函數(shù)體內(nèi)部有效。出了函數(shù)體外就不起作用了。或者你先這樣理解
把函數(shù)體里的x換成其他字母。
function?get_nextSibling(n){
????????var?a=n.nextSibling;
????????while?(a?&&?a.nodeType!=1){
???????????a=a.nextSibling;
????????}
????????return?a;
????}
只是想說(shuō),函數(shù)里的x因?yàn)樵诤瘮?shù)體內(nèi)var了,所以和函數(shù)體外的x是完全不同的變量。你可以看一下全局變量和局部變量的內(nèi)容。
PS。本人也是菜鳥,說(shuō)的不對(duì),敬請(qǐng)諒解。
加油