为了账号安全,请及时绑定邮箱和手机立即绑定

replace()替换时新子节点的内容的创建方法

function replaceMessage(){
        var newnode = document.createElement("i");
        /*newnode.innerHTML=document.getElmentById("oldnode").innerHTML;*/
        var newnodeText = document.createTextNode("JavaScript");
        newnode.appendChild(newnodeText);
        var oldNode = document.getElementById("oldnode");
        oldNode.parentNode.replaceChild(newnode,oldNode);
 
      }

为什么替换时要创建一个文本节点,并将其插入到替换的节点后。我换种方法直接利用新节点的innerHTML属性设置设置文本内容不行?   

function replaceMessage(){
        var newnode = document.createElement("i");
        newnode.innerHTML=document.getElmentById("oldnode").innerHTML;
        /* var newnodeText = document.createTextNode("JavaScript");
        newnode.appendChild(newnodeText); */
        var oldNode = document.getElementById("oldnode");
        oldNode.parentNode.replaceChild(newnode,oldNode);
 
      }

而我在替换完成之后,又可以利用innerHTML改变内容了。

function replaceMessage(){
        var newnode = document.createElement("i");
        /* newnode.innerHTML=document.getElmentById("oldnode").innerHTML;
        var newnodeText = document.createTextNode("JavaScript");
        newnode.appendChild(newnodeText); */
        var oldNode = document.getElementById("oldnode");
        oldNode.parentNode.replaceChild(newnode,oldNode);
 
      }
      function replace(){
          var node = document.getElementsByTagName("i");
          node[0].innerHTML="JavaScript";
      }

这是怎么回事?


正在回答

1 回答

function replaceMessage(){

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

         newnode.innerHTML=document.getElementById("oldnode").innerHTML;

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

         oldNode.parentNode.replaceChild(newnode,oldNode); 

  

       } 

我服了 慕课框架问题还是缓存机制问题 这又行了。


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

replace()替换时新子节点的内容的创建方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信