innerHTML和createTextNode的区别

innerHTML的用法

  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只是纯粹创造了文本节点,所以返回的效果也就是纯文本内容。

posted @ 2016-07-22 13:17  swii  阅读(3813)  评论(0编辑  收藏  举报