我正在使用jquery 1.10.2并尝试克隆一个div,我已经成功完成了,但我还需要更改该div及其所有子节点的id,我目前还没有成功
我已经搜索了这个并找到了几个例子来帮助this和this,但他们没有工作过。我真的不明白为什么。我知道我必须做一些非常明显错误的事情。我没有工作的原因是什么? (我已经离开了我的尝试 - 但评论了)
$(document).ready(function () {
$("#btnSecondContact").click(function () {
$("#divCustomerData").removeClass("col-lg-6 col-md-6");
$("#divCustomerAddr").removeClass("col-lg-6 col-md-6");
$("#divCustomerData").addClass("col-lg-4 col-md-4");
$("#divCustomerAddr").addClass("col-lg-4 col-md-4");
$('#divCustomerData').after(
$('#divCustomerData').clone()
//$('#divCustomerData').clone().attr("id", "newId").find("#divCustomerData").attr("id", "#divCustomerData_cloned")
//$('#divCustomerData').clone(function () {
// $(this).attr("id", $(this).attr("id") + "_cloned")
//})
)
//$("#divCustomerData").clone(false).find("*[id]").andSelf().each(function () { $(this).attr("id", $(this).attr("id") + "_cloned"); });
$("#btnSecondContact").prop('disabled', true);
})
});
答案 0 :(得分:0)
你打电话clone
次数过多而丢失参考资料。
更改此
$('#divCustomerData').after(
$('#divCustomerData').clone()
//$('#divCustomerData').clone().attr("id", "newId").find("#divCustomerData").attr("id", "#divCustomerData_cloned")
//$('#divCustomerData').clone(function () {
// $(this).attr("id", $(this).attr("id") + "_cloned")
//})
)
要
var $clon = $('#divCustomerData').clone();
$('#divCustomerData').after(
$clon.attr("id", "newId").find("#divCustomerData").attr("id", "#divCustomerData_cloned")
)
另请注意,clone不接受函数:
所以我不知道你在这里尝试做了什么:
//$('#divCustomerData').clone(function () {
// $(this).attr("id", $(this).attr("id") + "_cloned")
//})