猿问

这两个程序里的appendChild用法有什么不同?

<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>


尼古拉车夫
浏览 1994回答 4
4回答

MarlboroKay

区别: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

没什么区别的appendChild() 方法向节点添加一个子节点。只不过前者添加的是元素节点 li后者添加的是文本节点 JavaScript

乱也

innerHTML在替换内容时改变的是原本文档内容 DOMappendChild只存在JAVAscript里更新内容不改变原本文档。 书上是这样说得
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答