课程
/前端开发
/JavaScript
/JavaScript进阶篇
var otest = document.getElementById("test");
var newnode = document.createElement("p");
newnode.innerHTML = "abc";
otest.appendChild(newnode);
问题:
能不能直接写成newnode = "abc" ? 为什么非要加个innerHTML
2015-10-28
源自:JavaScript进阶篇 9-12
正在回答
不行。
你要插入一个“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不是一个变量,是个节点。
不能,两者都不是同一个意思
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
1 回答这里为什么一定要加innerHTML呢?
3 回答为什么这一节里面要加innerHTML=text?
3 回答这段代码里面为什么要写两遍 document.getElementByld("num").innerHTML=time;
3 回答这里为什么没有加innerHTML啊!
4 回答为什么最后要写个 innerHTML呢?
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号