V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
aglsv
V2EX  ›  JavaScript

关于插入 div 的问题

  •  
  •   aglsv · 2021-08-13 10:42:13 +08:00 · 1784 次点击
    这是一个创建于 1206 天前的主题,其中的信息可能已经有所发展或是发生改变。
    dom_exeStartPrev.outerHTML = dom_exeStartPrev.outerHTML + div.innerHTML
    

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

    Twinkle
        1
    Twinkle  
       2021-08-13 10:47:53 +08:00
    dom_exeStartPrev.parentNode.insertBefore(div, dom_exeStartPrev.nextSibling)
    h503mc
        2
    h503mc  
       2021-08-13 10:54:14 +08:00 via Android
    试试 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
        3
    aglsv  
    OP
       2021-08-13 11:59:09 +08:00
    @Twinkle 我这个是只需要 div 里面的元素,而且我之前这么写如果 dom_exeStartPrev 是最后一个元素的话他会报错
    aglsv
        4
    aglsv  
    OP
       2021-08-13 12:00:54 +08:00
    @h503mc 我只需要 div 里面的的内容,不需要 div 这个标签,需要它里面的子元素,我之前也使用这个方法来着,但是因为不知道该如何只插入 div 里面的内容,所以就换成了这个
    xingyuc
        5
    xingyuc  
       2021-08-13 12:01:32 +08:00
    childrenElement ?
    h503mc
        6
    h503mc  
       2021-08-13 14:48:02 +08:00 via Android
    [...div.children].forEach(element=>dom_exeStartPrev.insertAdjacentElement("afterend",element));

    其他同 #2
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:33 · PVG 12:33 · LAX 20:33 · JFK 23:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.