鍍金池/ 問(wèn)答/HTML/ 為何只有一句可以執(zhí)行?

為何只有一句可以執(zhí)行?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
        window.onload = function(){
        var mybox = document.getElementsByTagName("li");
        document.write('<xmp>'+mybox[0].innerHTML+'</xmp>');
        alert(mybox[0].innerHTML);
        console.log(mybox[0].innerHTML);
        }
    </script>
</head>
<body>
    <ul id="box">
        <li><img src="image/i1.png" alt=""></li>
        <li><img src="image/i2.png" alt=""></li>
        <li><img src="image/i3.png" alt=""></li>
    </ul>    
</body>
</html>

我發(fā)現(xiàn)

        window.onload = function(){
        var mybox = document.getElementsByTagName("li");
        document.write('<xmp>'+mybox[0].innerHTML+'</xmp>');
        alert(mybox[0].innerHTML);
        console.log(mybox[0].innerHTML);
        }
        

里面的三句話:

        document.write('<xmp>'+mybox[0].innerHTML+'</xmp>');
        alert(mybox[0].innerHTML);
        console.log(mybox[0].innerHTML);
        

只有一句可以執(zhí)行

document.write('<xmp>'+mybox[0].innerHTML+'</xmp>');

為何執(zhí)行完 document.write('<xmp>'+mybox[0].innerHTML+'</xmp>');
后面的兩句不執(zhí)行了?

        alert(mybox[0].innerHTML);
        console.log(mybox[0].innerHTML);

回答
編輯回答
別瞎鬧

注意: 因?yàn)?document.write 寫(xiě)入文檔流,在關(guān)閉(已加載)的文檔上調(diào)用 document.write 會(huì)自動(dòng)調(diào)用 document.open,這將清除該文檔。

2017年2月20日 17:34
編輯回答
柒喵

document.write后并沒(méi)有mybox了

2018年2月28日 04:30
編輯回答
有點(diǎn)壞

你在window.onload里執(zhí)行document.write,會(huì)導(dǎo)致整個(gè)頁(yè)面被覆蓋,所有的DOM元素都不存在了,所以下面的 mybox[0]根本就找不到了,報(bào)異常退出了。

2017年9月20日 05:36
編輯回答
夏木
window.onload = function(){
var mybox = document.getElementsByTagName("li");
document.write('<xmp>'+mybox[0].innerHTML+'</xmp>');
alert(mybox[0].innerHTML);
console.log(mybox[0].innerHTML);
}

改寫(xiě)成

    window.onload = function(){
    var mybox = document.getElementsByTagName("li");
    alert(mybox[0].innerHTML);
    console.log(mybox[0].innerHTML);
    document.write('<xmp>'+mybox[0].innerHTML+'</xmp>');
    }
2017年4月16日 00:13