我的DOM中有一个带有两个子元素的元素,一个div块和一个按钮。当我单击按钮时,我想将相同div块的新副本添加到parentNode。这可能吗?我现在在按钮上点击的电话是:
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()
控制台记录“点击”,但页面中没有任何更改。
答案 0 :(得分:1)
假设我理解正确,cloneNode
可能就是你想要的。
您可以克隆元素,然后将克隆附加到父节点。
https://developer.mozilla.org/en/docs/Web/API/Node/cloneNode