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

关于替换元素节点中新代码的赋值问题

 var newcode=document.createElement("i");

          var oldnew=document.getElementById("oldnode");

          var newcodeText=document.createTextNode(oldnew.innerHTML);

          newcode.appendChild(newcodeText);


          为何newcode.innerHTML=oldnew.innerHTML;不可以?



提问者:Z先森0 2016-01-13 09:09

个回答

  • 收拾好鑫情
    2016-03-28 00:32:15

    这句话是对的,这句话是创建一个子文本节点。

  • 前端女神
    2016-01-13 14:33:27

     newcode.appendChild(newcodeText);//这句不对。appenChild是在指定节点的最后一个节点插入一个节点。

    newcode.innerHTML=oldnew.innerHTML//可以啊

     var newcode=document.createElement("i");

     var oldnew=document.getElementById("oldnode");

     //var newcodeText=document.createTextNode(oldnew.innerHTML);

    newcode.innerHTML=oldnew.innerHTML;

     oldnew.parentNode.replaceChild(newcode,oldnew);

    这就是把b标签替换成i标签,标签内容不变