第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問為什么另一種寫法不可以?

舉例中,代碼為:

? <script type="text/javascript">

? ? function replaceMessage(){

? ? ? ? var newnode=document.createElement("p");

? ? ? ? var newnodeText=document.createTextNode("JavaScript");

? ? ? ? newnode.appendChild(newnodeText);

? ? ? ? var oldNode=document.getElementById("oldnode");

? ? ? ? oldNode.parentNode.replaceChild(newnode,oldNode);

? ? }

? </script>

? <h1 id="oldnode">Java</h1>

? <a href="javascript:replaceMessage()">"Java"替換"JavaScript"</a>

為什么不可以寫成:

? <script type="text/javascript">

? ? function replaceMessage(){

? ? ? ? var newnode=document.createElement("p");

? ? ? ? newnode.appendChild(newnodeText);

? ? ? ? newnodeText.innerHTML="JavaScript";

? ? ? ? var oldNode=document.getElementById("oldnode");

? ? ? ? oldNode.parentNode.replaceChild(newnode,oldNode);

? ? }

? </script>

? <h1 id="oldnode">Java</h1>

? <a href="javascript:replaceMessage()">"Java"替換"JavaScript"</a>




正在回答

1 回答

第一種方法:你創(chuàng)建了一個P標(biāo)簽節(jié)點,一個文本節(jié)點,所以將文本節(jié)點插入到P節(jié)點后面是可以的。

第二種方法:你只創(chuàng)建了一個P節(jié)點,想用innerHTML來顯示內(nèi)容,但innerHTML是直接顯示指定標(biāo)簽的內(nèi)容或者賦值給指定標(biāo)簽。你用newnodeText這個是沒有意義的,這是個變量名,需要聲明、賦值、調(diào)用,如你的第一種方法,不能直接拿來用,所以正確的寫法是:

<script type="text/javascript">

? ? function replaceMessage(){

? ? ? ? var newnode=document.createElement("p");

? ? ? ? newnode.innerHTML="JavaScript";

? ? ? ? var oldNode=document.getElementById("oldnode");

? ? ? ? oldNode.parentNode.replaceChild(newnode,oldNode);

? ? }

? </script>


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

風(fēng)早君418 提問者

appendChild不就是在新創(chuàng)建的P標(biāo)簽節(jié)點中添加子節(jié)點嗎?不就意味著也創(chuàng)建了一個newnodeText節(jié)點了嗎
2016-06-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

imjz 回復(fù) 風(fēng)早君418 提問者

那你得創(chuàng)建一個文本節(jié)點才行啊,你即沒聲明這個變量,也沒把創(chuàng)建的文本節(jié)點賦予給它,計算機哪知道你插入的是什么。
2016-06-16 回復(fù) 有任何疑惑可以回復(fù)我~
#3

風(fēng)早君418 提問者 回復(fù) imjz

我明白你的意思了,是要先創(chuàng)建、再添加,對嗎?
2016-06-16 回復(fù) 有任何疑惑可以回復(fù)我~
#4

imjz 回復(fù) 風(fēng)早君418 提問者

var newnodeText=document.createTextNode("JavaScript"); newnode.appendChild(newnodeText); 你也可以寫 var x=document.createTextNode("JavaScript"); newnode.appendChild(x); 這里的newnodeText不是固有的節(jié)點,這只是一個變量名,隨便換,他們這么寫可能是為了好理解。
2016-06-16 回復(fù) 有任何疑惑可以回復(fù)我~
#5

imjz 回復(fù) 風(fēng)早君418 提問者

對,還有這里的newnodeText只是一個變量名,不是固有的節(jié)點,你可以用a,b,c,d,x,y啊隨便,他們這么寫是為了好理解。
2016-06-16 回復(fù) 有任何疑惑可以回復(fù)我~
#6

風(fēng)早君418 提問者 回復(fù) imjz

好的好的,非常感謝!
2016-06-16 回復(fù) 有任何疑惑可以回復(fù)我~
查看3條回復(fù)

舉報

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468768    人
  • 解答問題       22442    個

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界

進(jìn)入課程

請問為什么另一種寫法不可以?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號