问答详情
源自:9-15 替换元素节点replaceChild()

关于appendChild的问题 希望有网友能解答

这个replaceChild我是懂了但是appendChild反而被弄糊涂了.

这个案例里面的appendChild好像和之前的9-12中的讲的不一样是另外一种效果。按照之前9-12节里面讲的appendChild只是给一个父节点里面的子节点后面追加一个新的子节点。但是在这个案例中运用了 新节点元素.appendChild(新文本节点) 这样的方式。如果按照之前的理解就是在这个新创建的 P节点元素后面追加一个新的内容为 JavaScript的文本节点。然而此例中达到的效果却是类似于 新节点元素.innerHTML= 新文本节点

感觉就不是追加而是把这个文本节点塞入到了P元素标签里面 两个合二为一的感觉。那么我就对这个appendChild()方法的具体涵义有了疑问。

http://img1.mukewang.com/5eb369f200013ac515450647.jpg

提问者:ZKKL 2020-05-07 09:53

个回答

  • 沐沐3381925
    2020-12-02 20:21:38

    案例没问题
    父节点.appendChild(最后一个子节点之后的新的子节点newnode)


  • 番茄boy
    2020-11-13 09:42:41

    你好像没搞懂,文本节点和元素节点,还有父子节点的关系呀

    比如这个例子:<li>我是文本<li>

    这里 li标签就是元素节点,而“我是文本”则是文本节点,这个文本节点又被li标签包裹住了,

    所以说“我是文本”是li标签的子节点

    对这个子节点的创造有很多,其中可以

    1. 修改li的InnerHTML或innerText来修改它里面的文本节点内容

    2. 就是单独创造文本节点createTextNode,然后再通过appendChild方法插入到li标签里

    而替换节点,rereplaceChild,你针对谁的替换,就换谁,而换入的新节点是包括其内部所有属性的(也就是新节点的子节点也会一并塞入)

  • qq_慕少8309659
    2020-05-11 17:01:31

    我也是和你一样的问题,我尝试了一下,使用newnode.innerHTML = “JavaScript”方法。也是可以行得通的。现在就是在等待大佬们的回复!!!!