javascript - 如何在div中触发javascript时将整个div复制到另一个div

标签 javascript html

我有两列。人们必须从第一列中选​​择元素,并将其添加到第二列。

我可以使用innerHTML,但我永远不知道会有多少元素。因此,当我单击链接“MOVE”时,我必须知道元素的 ID(在示例中为 element1、element2 或 element3)。有人知道我如何获取 javascript 触发的父 div 的父级吗?

像这样:

<div id="column1">
  <div id="element1">random tekst 1
      <div id="right">
          <a href="#" onclick="copy()">MOVE</a>
      </div>
  </div>
  <div id="element2">random tekst 2
      <div id="right">
          <a href="#" onclick="copy()">MOVE</a>
      </div>
  </div>
  <div id="element3">random tekst 3
      <div id="right">
          <a href="#" onclick="copy()">MOVE</a>
      </div>
  </div>
</div>

<div id="column2">

</div>

最佳答案

您可以将 anchor 元素的引用传递给函数副本,并使用 parentNode 属性来获取直接父元素。

<a href="#" onclick="copy(this)">MOVE</a>

function copy(elem)
{
    alert(elem.parentNode.parentNode)
}

参见parentNode

您的完整复制功能将是

    function copy(elem)
    {
        var target = document.getElementById ( "column2");
        target.appendChild ( elem.parentNode.parentNode );
    }

<强> Working Demo

注意

您的 HTML 也有问题。您有多个具有相同 id 的元素。这是无效的。您有多个具有相同 id“right”的 div 元素。将它们更改为唯一的 ID。

关于javascript - 如何在div中触发javascript时将整个div复制到另一个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2161923/

相关文章:

javascript - 带有关闭选项的粘性框

javascript - 使用 JavaScript 将 kebab-case 转换为 camelCase

javascript - 在带有 if 语句的函数中检查某物是否为数字

javascript - 在没有继承 css 影响的情况下格式化 div 元素内的元素

javascript - 使用 JavaScript 以不同的顺序将值从数组中取出并放入另一个数组中

html - 100%宽度对齐三张图片

javascript - 如何从浏览器控制台禁用 JavaScript 函数调用?

javascript - 获取图像数据 : The operation is insecure on local machine

javascript - 当用户点击内部链接时显示 html 页面的一部分

javascript - 在客户端对页面配置进行排序的最佳方法