innerHTML这里为什么要这么写?

来源:9-12 插入节点appendChild()

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

写回答 关注

6回答

  • geeker109
    2016-04-20 15:12:29

    不行。

    你要插入一个“abc" 内容,总先要有一个节点容器【也就是此题中的li】装着它吧,所以先创建一个

    newnode

    节点对象作为容器。


    newnode.innerHTML = "PHP";表示节点的内容是PHP。

    如果 newnode = "abc" 这样是直接把字符串赋给newnode,会导致他变成一个变量,而少了节点。


  • zeusGOGOGO
    2016-01-26 16:43:08

    newnode是一个节点对象,如果直接字符串赋值,会导致他变成一个字符串类型,就不是一个节点对象了。javascript语言比较自由,所以这样写不会报错。

  • PAN_0109
    2015-11-25 14:30:31

    你要插入一个“abc" 内容,总先要有一个节点容器【也就是此题中的li】装着它吧,所以先创建一个节点容器。

    如果 newnode = "abc" 这样是直接把一段字符串赋给一个变量newnode

  • kaworu
    2015-10-31 14:29:54

    这里newnode相当一个节点-----里面的值需要   对象.innerHTML方法去增添内容

  • Y_du
    2015-10-28 13:58:49

    不行,newnode.innerHTML = "abc";标示节点的内容是abc。如果newnode = "abc"这样啥都不能表示,newnode不是一个变量,是个节点。

  • Cella
    2015-10-28 13:57:52

    不能,两者都不是同一个意思

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468788 学习 · 22582 问题

查看课程

相似问题