easyschen
2015-10-28 13:40
var otest = document.getElementById("test");
var newnode = document.createElement("p");
newnode.innerHTML = "abc";
otest.appendChild(newnode);
问题:
能不能直接写成newnode = "abc" ? 为什么非要加个innerHTML
不行。
你要插入一个“abc" 内容,总先要有一个节点容器【也就是此题中的li】装着它吧,所以先创建一个
newnode
节点对象作为容器。
newnode.innerHTML = "PHP";表示节点的内容是PHP。
如果 newnode = "abc" 这样是直接把字符串赋给newnode,会导致他变成一个变量,而少了节点。
newnode是一个节点对象,如果直接字符串赋值,会导致他变成一个字符串类型,就不是一个节点对象了。javascript语言比较自由,所以这样写不会报错。
你要插入一个“abc" 内容,总先要有一个节点容器【也就是此题中的li】装着它吧,所以先创建一个节点容器。
如果 newnode = "abc" 这样是直接把一段字符串赋给一个变量newnode
这里newnode相当一个节点-----里面的值需要 对象.innerHTML方法去增添内容
不行,newnode.innerHTML = "abc";标示节点的内容是abc。如果newnode = "abc"这样啥都不能表示,newnode不是一个变量,是个节点。
不能,两者都不是同一个意思
JavaScript进阶篇
468788 学习 · 22582 问题
相似问题