我很确定我很接近,但我不知道我错过了什么:
var newId = 1;
$("#trigger").click(function(){
$("#new-div").attr('id', 'new-div' +newId++).clone().appendTo("#myDiv");
});
我设置了断点:我可以看到计数器自动递增,但是克隆的 div 没有出现在它应该出现的位置。我没有错误。用于此的 HTML:
<div id="secret-div" style="display: none;">
<div>This is new div number </div>
</div>
<p><a id="trigger" href="javascript:void(0);">Please, add an element</a></p>
<div id="myDiv"></div>
最佳答案
问题是您在克隆和附加之前更改了元素的 ID,导致 2 个元素具有相同的 ID,破坏了您的选择器和代码。
HTML:
<div id="secret-div" style="display:none;">
<div>This is new div number <span class="spnNewDivNumber"></span></div>
</div>
<p><a id="trigger" href="javascript:void(0);">Please, add an element</a></p>
<div id="myDiv"></div>
JavaScript:
var newId = 1;
$("#trigger").click(function() {
var $newSecretDiv = $("#secret-div").clone().attr('id', 'new-div' + newId++);
$newSecretDiv.show().appendTo("#myDiv");
$newSecretDiv.find('.spnNewDivNumber').text(newId - 1);
});
关于javascript - 克隆具有唯一 ID 的 div 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13784387/