<script type="text/javascript">
var otest = document.getElementById("test");
var li=document.createElement('li');
li.innerHTML="PHP"
otest.appendChild(li)
</script>
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标签了