課程
/前端開發
/JavaScript
/JavaScript進階篇
x&&x.nodeType!=1 這里為什么要加上x&& 不加的話,下面的代碼就不運行了。但是教程左邊的例子就沒有加。 求解釋。。
2016-06-12
源自:JavaScript進階篇 9-11
正在回答
首先判斷x是否為空,如果x為空的話 x.nodeType 調用就會異常。這應該編譯器的保護機制
十二月晴朗 提問者
如果你是IE可以不加因為IE不存在null節點? 如果是Firefox等就有null節點
瀏覽器問題,ie會將兄弟元素間的空白文本自動忽略,這就可以不加,兄弟節點之間的換行或空格都算空白文本。其他的瀏覽器如果不會忽略空白文本那就要先判斷x是否是空白文本再判斷類型,要不判斷那上一個或下一個兄弟節點有可能會是空白文本,返回的就是空白文本的值,也就是空,那就不是我們想要的li里的值了。
小西瓜籽
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
1 回答訪問兄弟節點,while判斷的問題
3 回答訪問兄弟節點代碼中的nodeType!=1
3 回答訪問兄弟節點?
2 回答訪問兄弟節點
2 回答code--訪問兄弟節點
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-06-12
首先判斷x是否為空,如果x為空的話 x.nodeType 調用就會異常。這應該編譯器的保護機制
2016-06-12
如果你是IE可以不加因為IE不存在null節點? 如果是Firefox等就有null節點
2016-06-12
瀏覽器問題,ie會將兄弟元素間的空白文本自動忽略,這就可以不加,兄弟節點之間的換行或空格都算空白文本。其他的瀏覽器如果不會忽略空白文本那就要先判斷x是否是空白文本再判斷類型,要不判斷那上一個或下一個兄弟節點有可能會是空白文本,返回的就是空白文本的值,也就是空,那就不是我們想要的li里的值了。