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

我最后一句这样写为什么是错的呢?oldnode.replaceChild(newnode,oldnode) ;

  <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.replaceChild(newnode,oldnode) ; 

       }    

  </script>

我最后一句这样写为什么是错的呢?

提问者:小龙lo 2015-08-02 18:51

个回答

  • 思椋
    2016-03-07 02:54:35

    replaceChild这个函数是替换孩子节点,如果不用parentNode.直接用old,这个函数就找不到其孩子节点。

  • 大布and科比
    2015-08-04 14:39:07

    要用它的父节点调用replaceChild

    oldnode.parentNode.replaceChild(newnode,oidnode);