服務(wù)熱線
153 8323 9821
一、document.write()和document.writeln()的區(qū)別
解決思路:
兩者都是JavaScript向客戶端輸出的方法,對比可知寫法上的差別是一個(gè)ln--line的簡寫,換言之,writeln 方法是以行輸出的,相當(dāng)于在?winte?輸出后加上一個(gè)換行符。
注意:document.write方法可以用在兩方面:在網(wǎng)頁載入過程中用實(shí)時(shí)腳本創(chuàng)建網(wǎng)頁內(nèi)容以及用延時(shí)腳本創(chuàng)建本窗口或新窗口的內(nèi)容.該方法需要一個(gè)字符串參數(shù),它是寫到窗口或框架中的HTML內(nèi)容.該字符串參數(shù)可以是變量或值為字符串的表達(dá)式,寫入內(nèi)容常常包含HTML標(biāo)記.
記住,載入網(wǎng)頁后,瀏覽器輸出流將自動關(guān)閉.在些之后任何一個(gè)對當(dāng)前網(wǎng)頁的document.write()方法都將打開一個(gè)新的輸出流,它將清除當(dāng)前網(wǎng)頁輸出內(nèi)容(包括源文檔中的任何變是和值).因此,如果希望用腳本生成的HTML內(nèi)容替換當(dāng)前網(wǎng)頁,就必須把HTML內(nèi)容連接起來賦給一個(gè)變量.這里,使用document.write()來完成寫操作.不必清除文檔并打開一個(gè)新的數(shù)據(jù)流,一個(gè)document.write()調(diào)用就OK了.
關(guān)于document.write()方法,還需要說明它的相關(guān)方法document.close().腳本向窗口(不管是本窗口還是其它窗口)寫完內(nèi)容后必須關(guān)閉輸出流.在腳本的最后一個(gè)document.write() 方法后面.必須確保有document.close()方法.不這樣做就不能顯示圖像和表單.而且,后面調(diào)用的任何document.write() 只會將內(nèi)容追加到網(wǎng)頁后,而不會清除現(xiàn)有內(nèi)容,寫入新值

二、document.write()向指定位置寫html
頁面初始化時(shí)可以正確寫在Select框內(nèi)
但調(diào)用時(shí)就寫在控件外了,不知道document.write()能否想改變innerHTML或outerHTML來動態(tài)寫HTML?以及寫的HTML要用來顯示該如何處理?
如下:
<html>
<head></head>
<script type="text/javascript">
function creatOption(){
for(i=0;i<5;i++)
document.write("<option value='"+i+"'>"+i+"</option>");
}
function openWrite(){
var win=window.open();
win.document.write("Line1");
win.document.write("Line1");
win.document.write("<input type='text' value='1234567890' />");
win.document.writeln("Line1");
win.document.writeln("Line2");
}
</script>
<body>
<Select id="mySelect" name="mySelect">
<script language="javascript">
creatOption();
</script>
</Select>
<input type="button" value="按鈕" onclick="openWrite()"/>
</body>
</html>