亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

例子為什么要創建一個文本節點追加到newdone這個節點中?

<script type="text/javascript">

function replaceMessage() {

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

? var newnodeText=document.createElement("JS");

? // newnode.innerHTML="JS"; 這樣不是更簡單嗎

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

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


}

</script>

直接用innerHTML不是更簡單嗎?還有 按照之前的課程講的 (就是講子節點childNodes那節),計算總元素節點是7個的那個例子。這邊如果把文本節點追加到元素節點中,那么在計算子節點的時候,是不是在元素節點里面還要算上文本節點? 那7個子節點就不對了

正在回答

4 回答

一開始我也很疑惑,看了一下這篇博客就明白了:http://www.cnblogs.com/swii/p/5694818.html

兩者的區別在于,innerHTML會將文本中包含的HTML代碼實現效果,而createTextNode只是純粹創造了文本節點,所以返回的效果也就是純文本內容。

希望能幫助到你

5 回復 有任何疑惑可以回復我~
#1

帥弟弟 提問者

謝謝 里面總結很到位
2017-02-10 回復 有任何疑惑可以回復我~

nnerHTML的用法

  tablerowObject.innerHTML

createTextNode的用法

  createTextNode(data)

  返回新創建的 Text 節點,表示指定的?data?字符串。

區別:1)  innerHTML屬于HTML Dom

      createTextNode屬于XML Dom

   2)  雖然效果類似但是在某種情況下是有區別的

1 var p=document.createElement("p");2 p.className="message";3 p.innerHTML="<b>I love js</b>";4 document.body.appendChild(p);
1 var p=document.createElement("p");2 p.className="message"; ?
3 var textnode=document.createTextNode("<b>I love js</b>");4 p.appendChild(textnode);5 document.body.appendChild(p);

在第一種情況下呈現出的效果是加粗的文本內容

而在第二種情況下呈現出的效果是<b>I love js</b>原文本。

所以兩者的區別在于,innerHTML會將文本中包含的HTML代碼實現效果,而createTextNode只是純粹創造了文本節點,所以返回的效果也就是純文本內容。

-----轉

0 回復 有任何疑惑可以回復我~

追加文本節點和innerHTML都可以;

若原先元素沒有文本節點,添加文本節點,childNodes會影響元素子節點數目

0 回復 有任何疑惑可以回復我~

好問題同求

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

例子為什么要創建一個文本節點追加到newdone這個節點中?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號