亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

js中previousSibling訪問兄弟節點。while判斷nodeType是否為1

x&&x.nodeType!=1 這里為什么要加上x&& 不加的話,下面的代碼就不運行了。但是教程左邊的例子就沒有加。 求解釋。。

正在回答

3 回答

首先判斷x是否為空,如果x為空的話 x.nodeType 調用就會異常。這應該編譯器的保護機制

0 回復 有任何疑惑可以回復我~
#1

十二月晴朗 提問者

非常感謝!
2016-06-13 回復 有任何疑惑可以回復我~

如果你是IE可以不加因為IE不存在null節點? 如果是Firefox等就有null節點

0 回復 有任何疑惑可以回復我~
#1

十二月晴朗 提問者

明白了,謝謝
2016-06-13 回復 有任何疑惑可以回復我~

瀏覽器問題,ie會將兄弟元素間的空白文本自動忽略,這就可以不加,兄弟節點之間的換行或空格都算空白文本。其他的瀏覽器如果不會忽略空白文本那就要先判斷x是否是空白文本再判斷類型,要不判斷那上一個或下一個兄弟節點有可能會是空白文本,返回的就是空白文本的值,也就是空,那就不是我們想要的li里的值了。

0 回復 有任何疑惑可以回復我~
#1

十二月晴朗 提問者

謝謝回答
2016-06-13 回復 有任何疑惑可以回復我~
#2

小西瓜籽

nodeType!=1 是什么意思呀
2016-06-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468965    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

js中previousSibling訪問兄弟節點。while判斷nodeType是否為1

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號