createTextNode究竟是怎么运作的?

来源:9-17 创建文本节点createTextNode

黑炎蓝焰

2017-10-10 19:24

appendChild()是在指定节点的最后一个子节点列表之后添加一个新的子节点。然后

var newnode=document.createElement("p");
newnode.className="message";
var textnode=document.createTextNode("I Love JaveSript");
newnode.appendChild(textnode);
document.body.appendChild(newnode);

这部分究竟怎么理解呢?createTextNode() 方法创建新的文本节点,返回新创建的 Text 节点。在上面代码的第4行的结果不应该构成的是,因为是在newnode的p节点下面在构造一个节点么?我原以为createTextNode()是放回的p标签来着,然后应该应该是

<p><p>I Love JaveSript
</p></p>

可是只是

<p>I Love JaveSript
</p>

为什么呢?createTextNod()返回的究竟是什么?

写回答 关注

2回答

  • 皇骑
    2018-05-09 20:52:53
    已采纳

    返回的就是“文本节点”,可以测试一下,script中添加下面一行代码:

    alert(textnode);

    会提示“object text”,就是文本节点的意思,p元素节点下加一个文本节点就是:

    <p>I Love JaveSript</p>

    如果按你之前的理解:

    <p><p>I Love JaveSript</p></p>

    这个就是在p下再建一个p节点然后再建一个text文本节点,就是这样:

    var newnode2 = document.createElement("p");
    newnode2.appendChild(textnode);
    newnode.appendChild(newnode2);


    黑炎蓝焰

    非常感谢!

    2018-06-13 18:33:48

    共 1 条回复 >

  • 慕娘4083851
    2017-10-12 13:45:44

    createTextNod()返回的是文本节点,为什么要返回p标签呢?

    黑炎蓝焰

    那你说下返回的文本节点是什么,这个文本节点究竟是怎么样的

    2017-10-12 16:17:56

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题