问答详情
源自:9-12 插入节点appendChild()

求大神帮我比较一下两种写法的区别

  1. var otest = document.getElementById("test"); 
      var newnode = document.createElement("li");
      var newtext= document.createTextNode("PHP");
      newnode.appendChild(newtext);
      otest.appendChild(newnode);

  2. var otest = document.getElementById("test"); 
      var newnode = document.createElement("li");
      newnode.innerHTML="PHP";
      otest.appendChild(newnode);

    虽然都能实现同样的效果,但是两种写法哪个更好一点啊

提问者:我要吃冰激凌 2016-03-12 21:17

个回答

  • 随性随意
    2016-03-13 00:11:47

    一样的,建议采用第二种。

    因为如果有很多节点要添加,你难道还去一个一个使用append添加吗?相反用innerHTML就可以直接添加html代码,效率相比append高多了。

    例如:

    1、newnode.innerHTML = "<p>js</p><p>html</p><p>java</p>";//就相当于在newnode节点上添加了三个p标签

    2、var newnode_first = document.createElement("p");
    var newtext_first= document.createTextNode("js");
    newnode_first.appendChild(newtext_first);     newnode.appendChild(newnode_first);

    ..................重复三遍。

    两者的效率相差不止千里