能不能看一下為什么這兩種寫(xiě)法輸出不同?
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"> <title>無(wú)標(biāo)題文檔</title> </head> <body> <ul?id="test"><li>JavaScript</li><li>HTML</li></ul>? <script?type="text/javascript"> ??var?otest?=?document.getElementById("test");?? ??var?newli?=?document.createElement("li"); ??newli.innerHTML="php"; ??otest.insertBefore(newli,otest.lastChild); ?? </script>? </body> </html>
輸出為
Javascript
php
HTML
代碼改為
<ul?id="test"><li>JavaScript</li> <li>HTML</li> </ul>
之后輸出變成
Javascript
HTML
php
2017-07-21
你換行后如果你用的IE瀏覽器應(yīng)該不會(huì)出現(xiàn)這問(wèn)題。如果其他瀏覽器,<li>HTML</li>后面會(huì)有一個(gè)空白節(jié)點(diǎn)(雖然是空白的,但也是節(jié)點(diǎn)),otest.insertBefore(newli,otest.lastChild);,這里面會(huì)把空白節(jié)點(diǎn)當(dāng)做lastChild,在空白節(jié)點(diǎn)之前插入,那么插入的節(jié)點(diǎn)仍然在HTML的后面。所以在示例里面將這么一串寫(xiě)在一行就是為了避免出現(xiàn)這個(gè)問(wèn)題。
可以再?gòu)?fù)習(xí)一下9-8節(jié),里面提到過(guò)空白節(jié)點(diǎn)。
2017-07-18
一個(gè)包含在ul標(biāo)簽里面,一個(gè)在ul標(biāo)簽外面,所以結(jié)果不同