下面是函數:爲什麼這個腳本只能輸出一半的輸出?
function funct1()
{
document.getElementById("demo").innerHTML="Something";
document.write("Mexico!");
}
輸出只有:
Mexico
當我點擊頁面上的按鈕,而我想要的輸出是:
Something
Mexico
下面是函數:爲什麼這個腳本只能輸出一半的輸出?
function funct1()
{
document.getElementById("demo").innerHTML="Something";
document.write("Mexico!");
}
輸出只有:
Mexico
當我點擊頁面上的按鈕,而我想要的輸出是:
Something
Mexico
在這種情況下,document.write()
不符合您的想法。它清除了文檔的內容,並寫入Mexico!
(請參閱Quentin的答案以獲取更詳細的解釋)。如果你刪除這一行,你可以看到你的第一條語句被正確執行。
如果你要更新的第一個段落,並添加另一個,你應該使用下面的代碼:
function funct1()
{
document.getElementById("demo").innerHTML = "Something";
// Create a new <p> element, set its HTML and then append it:
var newP = document.createElement('p');
newP.innerHTML = 'Mexico!';
document.body.appendChild(newP);
}
你可以看到一個工作jsFiddle here。
在設置演示的innerHTML
之後,您可以撥打document.write
。由於此時文檔處於關閉狀態,因此會隱式調用document.open
,其中會刪除整個現有文檔(包括您剛剛分配的內容爲innerHTML
)。 然後您寫的墨西哥!到新文件。
在DOM準備就緒後(並且在其他時間避免這樣做),切勿調用document.write
。改用DOM操作。
在顯示頁面後調用'document.write()'時,整個頁面將被覆蓋。 – Pointy 2013-02-18 15:31:52