【问题标题】:Appending already present element to DOM with Javascript/jQuery使用 Javascript/jQuery 将已经存在的元素附加到 DOM
【发布时间】:2016-03-23 00:29:00
【问题描述】:

我的 DOM 中有一个元素,它有两个子元素,一个 div 块和一个按钮。当我单击按钮时,我想将同一 div 块的新副本添加到 parentNode。这可能吗?我现在在按钮 onclick 调用中拥有的是:

document.getElementById("myele").appendChild(document.getElementById("myele").children[0])

但这只是将那个子元素移动到按钮下的子数组中,如果我再次单击将按钮移回 div 块下(这是因为现在 children[0] 是按钮本身)。我也尝试将子节点分配给一个变量并附加它,但结果是一样的。

有没有一种方法可以做我想做的事情,而不必调用重新创建整个 div 块然后附加它的 JS 函数?

编辑:我从来没有使用过 jQuery,我也尝试过这样做,但它似乎不起作用:

<script>
function addOne(){
    console.log('click')
    $('.valori:first-child').clone(true).appendTo($('.valori'))
}
</script>

onclick 调用变为:

javascript: addOne()

控制台记录“点击”,但页面没有变化。

【问题讨论】:

  • 在 .valori 和 :first-child ... 之间放一个空格 ...

标签: javascript jquery html dom


【解决方案1】:

假设我理解你的正确,cloneNode 可能就是你要找的。​​p>

您可以克隆您的元素,然后将克隆附加到您的父节点。

https://developer.mozilla.org/en/docs/Web/API/Node/cloneNode

【讨论】:

  • 这正是我想要的,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-10
  • 2016-07-24
  • 2013-08-05
相关资源
最近更新 更多