克隆div';让孩子们使用javascript

克隆div';让孩子们使用javascript,javascript,jquery,html,clone,Javascript,Jquery,Html,Clone,我克隆了一个div多次,我还需要更改它的内部子div。(例如id_j1、id_j2等) 我设法克隆了整个div并更改了它的id,但没有更改孩子们的id javascript document.getElementById('btn_new_service').onclick = duplicate; var i =0; function duplicate() { var original = document.getElementById('duplicator'); var

我克隆了一个div多次,我还需要更改它的内部子div。(例如id_j1、id_j2等)

我设法克隆了整个div并更改了它的id,但没有更改孩子们的id

javascript

document.getElementById('btn_new_service').onclick = duplicate;
var i =0;
function duplicate() {
    var original = document.getElementById('duplicator');
    var clone = original.cloneNode(true); // "deep" clone
    clone.id = "duplicator" + ++i; // there can only be one element with an ID} 
original.parentNode.appendChild(clone);
如果我在上面的代码中附加下面的代码,那么我会得到一个错误
uncaughttypeerror:clone.children不是一个函数

var new_div_ID = 'duplicator-' + i;
var new_service_ID = 'c_service-'+i;
var new_vat_ID = 'vat-'+i;
var new_amount_ID = 'amount-'+i;
var new_vatamount_ID = 'vat_amount-'+i;
clone.children('#c_service').attr('id',new_service_ID);
clone.children('#vat').attr('id',new_vat_ID);
clone.children('#amount').attr('id',new_amount_ID);
clone.children('#vat_amount').attr('id',new_vatamount_ID);
我从两个不同的代码片段中提取了它们,它们工作得很好,但当我将它们组合在一起时,它们却没有。有什么提示为什么会这样吗

如果我在上面的代码中附加下面的代码,那么我会得到一个错误 未捕获类型错误:clone.children不是函数

在vanila js中不是
函数
,请改用
querySelector
setAttribute

成功

clone.querySelector('#c_service').setAttribute('id',new_service_ID);
如果我在上面的代码中附加下面的代码,那么我会得到一个错误 未捕获类型错误:clone.children不是函数

在vanila js中不是
函数
,请改用
querySelector
setAttribute

成功

clone.querySelector('#c_service').setAttribute('id',new_service_ID);

它看起来像是一个
jQuery/DOMApi
meltinpot…
$(clone)function@Satpal我还需要更改孩子的id。它看起来像一个
jQuery/DOMApi
meltinpot…
$(克隆)。孩子(
作为本机DOM元素没有function@Satpal我还需要更改孩子们的id谢谢老兄!这就像一个符咒,所以另一个不起作用,因为它不是一个内置函数,对吗?我想了一下,但因为原始示例声明了一个变量克隆,并使其等于主div和在使用
children
更改孩子的ids@noel293
children
不是我在回答中提到的
Node
对象的成员方法。这就是为什么你会出现这个错误。谢谢,伙计!这就像一个符咒,所以另一个不起作用,因为它不是内置函数,对吗?我没有考虑一下,因为最初的示例是声明一个变量克隆并使其等于main div,然后使用
children
来更改children的ids@noel293
children
不是我在回答中提到的
Node
对象的成员方法。这就是为什么您得到了er罗。