<ul id="test"> <li>JavaScript</li> <li>HTML</li></ul> <script type="text/javascript"> var otest = document.getElementById("test"); var newNode=document.createElement("li"); newNode.innerHTML="PHP"; otest.appendChild(newNode); </script> ------------------------------------------------------<div><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div> <a href="javascript:replaceMessage()"> 将加粗改为斜体</a> <script type="text/javascript"> function replaceMessage(){ var newNode=document.createElement("i"); var newNodeText=document.createTextNode("JavaScript"); newNode.appendChild(newNodeText); var oldNode=document.getElementById("oldnode"); oldNode.parentNode.replaceChild(newNode,oldNode); } </script>
4 回答
已采纳
MarlboroKay
TA贡献189条经验 获得超236个赞
区别:1) innerHTML属于HTML Dom
createTextNode属于XML Dom
2) 虽然效果类似但是在某种情况下是有区别的
var p=document.createElement("p"); p.className="message"; p.innerHTML="<b>I love js</b>"; document.body.appendChild(p);
var p=document.createElement("p"); p.className="message"; var textnode=document.createTextNode("<b>I love js</b>"); p.appendChild(textnode);5 document.body.appendChild(p);
在第一种情况下呈现出的效果是加粗的文本内容
而在第二种情况下呈现出的效果是<b>I love js</b>原文本。
所以两者的区别在于,innerHTML会将文本中包含的HTML代码实现效果,而createTextNode只是纯粹创造了文本节点,所以返回的效果也就是纯文本内容。
希望能帮到你,望采纳!
woshiajuana
TA贡献211条经验 获得超152个赞
没什么区别的
appendChild() 方法向节点添加一个子节点。
只不过前者添加的是元素节点 li
后者添加的是文本节点 JavaScript
添加回答
举报
0/150
提交
取消