下面两段代码有什么区别?为什么效果不一样?

<body>
  <div id="tst"><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>
  <a href="javascript:replaceMessage()"> 将加粗改为斜体</a>
    <script type="text/javascript">
      function replaceMessage(){
        var newnode=document.createElement("i");
            newnode.innerHTML="JAVA";
        var oldnode=document.getElementById("oldnode");
            oldnode.parentNode.appendChild(newnode);
            oldnode.parentNode.replaceChild(newnode,oldnode);   
       }    
  </script>
 </body>
 
 
 
 
 
 <body>
  <div id="tst"><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>
  <a href="javascript:replaceMessage()"> 将加粗改为斜体</a>
    <script type="text/javascript">
      function replaceMessage(){
        var newnode=document.createElement("i");
            newnode.innerHTML="JAVA";
        var tst=document.getElementById("tst");
        var oldnode=document.getElementById("oldnode");
            tst.appendChild(newnode);
            tst.replaceChild(newnode,oldnode);   
       }    
  </script>


爱小LV3418421
浏览 984回答 1
1回答

qq_海阔天空_86

oldnode.parentNode.appendChild(newnode);表示oldnode的父节点添加一个孩子(newnode) tst.appendChild(newnode);表示tst添加一个孩子tst本来就是oldnode的父节点。这两个效果是一样的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript