javascript - 将子元素追加到父元素中

标签 javascript html dom

<div id = "a"></div>
<div id = "b"></div>
<div id = "ab"><div>

function addKids() 
{
    img1 = document.createElement("img");
    img1.src = // SOURCE1;
    document.getElementById("a").appendChild(a);

    img2 = document.createElement("img");
    img2.src = // SOURCE2;
    document.getElementById("b").appendChild(b);

    document.getElementById("ab").appendChild(a);
    document.getElementById("ab").appendChild(b);
}

这就是我想要的,基本上我想要 div A 中的 img1,div B 中的 img 2,然后 div AB 中的两个图像。如果我删除将appendChildren添加到AB的代码,图像会显示在各自的div中,但是一旦appendChildren存在,它们只会出现在AB中。如何使图像正确显示在每个 div 中而不需要太多额外的编码?

此外,还会不断向 div A 和 B 添加更多图像。如何将两个 div 的最后一个图像添加到 div AB 中?

谢谢!

最佳答案

不同父元素不能共享 DOM 元素,因为最后一个父元素 AB将是图像 a 的唯一一张和b

另一种方法是使用函数 cloneNode() 克隆这些图像。

function addKids() {
  a = document.createElement("img");
  a.src = '/image/G2FO1.jpg?s=48&g=1';
    document.getElementById("a").appendChild(a);

  b = document.createElement("img");
  b.src = 'https://lh3.googleusercontent.com/-w_IWeYU4ynw/AAAAAAAAAAI/AAAAAAAAAF0/Xbzx7yhjooQ/photo.jpg?sz=48';
    document.getElementById("b").appendChild(b);

  var ab = document.getElementById("ab");
  ab.appendChild(a.cloneNode());
  ab.appendChild(b.cloneNode());
}

addKids();
<div id="a">a</div>
<div id="b">b</div>
<div id="ab">ab
  <div>

关于javascript - 将子元素追加到父元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49215746/

相关文章:

javascript - For 循环函数,意外的输出 - 始终相同

javascript - 动画 : jQuery vs CSS?

html - 使用 AngularJS 动态变暗当前背景颜色

html - 如何将类属性添加到 discourse-modal div

dom - 在浏览器中调试自定义 DOM 事件

javascript - 在套接字 io 连接中设置用户名

javascript - Electron:在与 index.js 不同的 javascript 中调用函数

javascript - 没有表格的onSubmit

javascript - 使用javascript检测文本中的换行符

html - 使用 Cheerio 排除双类的 css 选择器