var oldHTML=j.innerHTML;为什么这样写?可以直接用j=x这样获取的也是同样id,但是输出结果却不对

来源:9-15 替换元素节点replaceChild()

listenlo

2016-04-28 10:03

 <script type="text/javascript">

      function replaceMessage(){

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

        var oldHTML=j.innerHTML;//  j=x; 获取同样的id;结果输出不对

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

        j.parentNode.replaceChild(x,j);

        x.innerHTML=oldHTML;//  不理解这个地方  

       }    

  </script>

  能说说原因吗


写回答 关注

1回答

  • majisong
    2016-04-28 15:46:44
    已采纳
    1.  当 oldnode 被替换时,所有与之相关的属性内容都将被移除。

      所以,需要将oldnode的里面的内容取出来,就是var oldHTML=j.innerHTML;

    2. 将oldnode的里面的内容取出来之后,给newnode使用,就是x.innerHTML=oldHTML;

    3. innerHTML在JS是双向功能:获取对象的内容或向对象插入内容;

    listen...

    非常感谢!

    2016-04-28 16:27:03

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题