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

这样写,效果也达到了,为什么答案比较多呢

 

<script type="text/javascript">


  var otest = document.getElementById("test"); 

  var li=document.createElement('li');

  li.innerHTML="PHP"

  otest.appendChild(li)    

</script> 

 

提问者:该比率 2016-12-06 10:54

个回答

  • WEB丶FriEnD
    2016-12-06 11:47:30
    已采纳

    var otest = document.getElementById("test");  
    var newnode = document.createElement("li");
    var newtext= document.createTextNode("PHP");    //这里是先创建了文本节点
    newnode.appendChild(newtext);    //然后把创建好的文本节点放到新建的newnode(li)里面
    otest.appendChild(newnode);

    其实都是对的,方法不同而已。


    innerHTML和createTextNode都可以把一段内容添加到一个节点中,区别是如果这段内容中有html标签;

    在createTextNode中会当作文本处理;

    比如 var a = document.createElement("div");

            create = document.createTextNode("<p>PHP</p>");

            a.appendChild(create); 

            document.write(a); //这里输出的a(div)的内容是"<p>PHP</p>" 双引号内为纯字符串

            var b = document.createElement("div");

            b.innerHTML = "<p>PHP</p>";

            document.write(b); //这里输出的b(div)的内容是<p>"PHP"</p> 双引号内为纯字符串,但<p></p>被           解析为HTML标签了