关于插入 div 的问题

2021-08-13 10:42:13 +08:00
 aglsv
dom_exeStartPrev.outerHTML = dom_exeStartPrev.outerHTML + div.innerHTML

我想让 div 里面的元素全部添加到dom_exeStartPrev的后面,但是按照我上面写的,最后 console 出来的dom_exeStartPrev还是原来的,并没有加上 div 里面的元素,请问这个如何解决

1600 次点击
所在节点    JavaScript
6 条回复
Twinkle
2021-08-13 10:47:53 +08:00
dom_exeStartPrev.parentNode.insertBefore(div, dom_exeStartPrev.nextSibling)
h503mc
2021-08-13 10:54:14 +08:00
试试 dom_exeStartPrev.insertAdjacentElement("afterend",div)

如果是要让 div 在 dom_exeStartPrev 底下,那么就把 afterend 换成 beforeend

参见 https://developer.mozilla.org/zh-CN/docs/Web/API/Element/insertAdjacentElement

ps:你应该打印 dom_exeStartPrev.parentNode 才对
aglsv
2021-08-13 11:59:09 +08:00
@Twinkle 我这个是只需要 div 里面的元素,而且我之前这么写如果 dom_exeStartPrev 是最后一个元素的话他会报错
aglsv
2021-08-13 12:00:54 +08:00
@h503mc 我只需要 div 里面的的内容,不需要 div 这个标签,需要它里面的子元素,我之前也使用这个方法来着,但是因为不知道该如何只插入 div 里面的内容,所以就换成了这个
xingyuc
2021-08-13 12:01:32 +08:00
childrenElement ?
h503mc
2021-08-13 14:48:02 +08:00
[...div.children].forEach(element=>dom_exeStartPrev.insertAdjacentElement("afterend",element));

其他同 #2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/795507

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX