【JavaScript入門(mén)篇 3-6 控制類(lèi)名】為什么加上innerHTML后<p>標(biāo)簽中的內(nèi)容不顯示樣式?
這是教程中的代碼,下面是我的問(wèn)題
問(wèn)題一:為什么我下面的代碼function中加入document.write()后,點(diǎn)擊按鈕
標(biāo)簽的內(nèi)容不見(jiàn)了?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<title>className屬性</title>
<style type="text/css">
?? ?input{
?? ??? ?font-size:10px;
?? ?}
?? ?.one{
?? ??? ?width:200px;
?? ??? ?background-color:#CCC;
?? ?}
?? ?.two{
?? ??? ?font-size:36px;
?? ??? ?color:#F00;
?? ?}
</style>
</head>
<body>
?? ?<p id="con" class="one">JavaScript</p>
?? ?<form>
?? ??? ?<input type="button" value="點(diǎn)擊更改" onclick="modifyclass()" />
?? ?</form>?? ?
?? ?<script type="text/javascript">
?? ??? ?var mychar=document.getElementById("con");
?? ??? ?function modifyclass(){
?? ??? ??? ?mychar.className="two";
?? ??? ??? ?document.write("P元素值為:" + mychar.className + mychar.innerHTML + "<br />")
?? ??? ??? ?//alert('mama');
?? ??? ?}
?? ?</script>
</body>
</html>
問(wèn)題二:為什么加上innerHTML后<p>標(biāo)簽中的內(nèi)容不顯示樣式?
問(wèn)題三:如果想要顯示<p>標(biāo)簽中的內(nèi)容及樣式,Script中應(yīng)該怎么寫(xiě)代碼?
以上 請(qǐng)解答 謝謝!
2016-11-13
document.write()方法可以用在兩個(gè)方面:頁(yè)面載入過(guò)程中用實(shí)時(shí)腳本創(chuàng)建頁(yè)面內(nèi)容,以及用延時(shí)腳本創(chuàng)建本窗口或新窗口的內(nèi)容。該方法需要一個(gè)字符串參數(shù),它是寫(xiě)到窗口或框架中的HTML內(nèi)容。這些字符串參數(shù)可以是變量或值為字符串的表達(dá)式,寫(xiě)入的內(nèi)容常常包括HTML標(biāo)記語(yǔ)言。
記住,在載入頁(yè)面后,瀏覽器輸出流自動(dòng)關(guān)閉。在此之后,任何一個(gè)對(duì)當(dāng)前頁(yè)面進(jìn)行操作的document.write()方法將打開(kāi)—個(gè)新的輸出流,它將清除當(dāng)前頁(yè)面內(nèi)容(包括源文檔的任何變量或值)。因此,假如希望用腳本生成的HTML替換當(dāng)前頁(yè)面,就必須把HTML內(nèi)容連接起來(lái)賦給一個(gè)變量,使用一個(gè)document.write()方法完成寫(xiě)操作。不必清除文檔并打開(kāi)一個(gè)新數(shù)據(jù)流,一個(gè)document.write()調(diào)用就可完成所有的操作。
這是我找到的關(guān)于write()的描述
2016-11-13
var mychar=document.getElementById("con");
document.write("P元素值為:" + mychar.className + mychar.innerHTML + "<br />")?? ??? ?
function modifyclass(){
?? ??? ??? ?mychar.className="two";}
你這樣寫(xiě)就好了,感覺(jué)這是因?yàn)槟阍诤瘮?shù)中要求打印,然后會(huì)跳轉(zhuǎn)到新的容器中顯示,純屬瞎猜,只是聯(lián)想到其他語(yǔ)言遇到函數(shù)打印跳轉(zhuǎn)的情況而猜想。而跳轉(zhuǎn)之后樣式已經(jīng)不是那個(gè)容器里的了,所以就不能顯示了。僅供參考,我也是今天才開(kāi)始學(xué)。
? ? ? ? ? ??