问答详情
源自:9-15 替换元素节点replaceChild()

既然说替换节点,那么旧的节点为何添加不了

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>



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

         var oldnodeText=document.createTextNode("nihahahha");

         oldnode.appendChild(oldnodeText);

  

       }    

  </script>

  

 </body>

</html>


提问者:李逍遥lh 2016-08-20 14:42

个回答

  • 水里有条鱼
    2016-08-20 15:48:16
    已采纳

    我跟你说哈,虽然不是很懂你想干嘛,既然新节点替换了旧节点那么旧节点就不会再body结构里了,就不会有显示了,你加点什么东西进去当然看不出什么区别,如果你想看去别的话,可以旧节点再换新节点,也可以body或其他地方添加子节点

  • qq_luckyalways_0
    2016-08-20 15:58:16

    你没有返回旧的结点,所以旧结点被删除了,你可以

    var a=oldnode.parentNode.replaceChild(newnode,oldnode)

    来获取旧结点,然后用a.innerHTML来修改你想换的内容