DOM
使用nextSibling屬性返回指定節點之后的下一個兄弟節點,(即:相同節點樹層中的下一個節點)。
nextSibling屬性與nextElementSibling屬性的差別:
nextSibling屬性返回元素節點之后的兄弟節點(包括文本節點、注釋節點即回車、換行、空格、文本等等);
nextElementSibling屬性只返回元素節點之后的兄弟元素節點(不包括文本節點、注釋節點);
注意: 空格、回車也會看作文本,以文本節點對待。
下例中,如果兩個li元素之間有空格、回車,將返回 “undefined”。
今天犯了個很蛋疼的錯誤,調試了半天,才發現在input 與font 標簽之間多了個回車。(中間不應有任何內容,包括,回車,換行)
<input type="text" name="username" onblur="checkName();" /><font></font>
解決方法1:去掉中間多余的內容,input的nextSibling就是font結點
解決辦法2:用input 的nextElementSibling 方法,得到的就是font結點