javascript - 克隆具有唯一 ID 的 div 不起作用

标签 javascript jquery

我很确定我很接近,但我不知道我错过了什么:

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,破坏了您的选择器和代码。

Fixed Live Demo

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/

相关文章:

javascript - jQuery:在序列化之前保留表单值?

javascript - 如何在 CSS 中更改选定选项卡的颜色

javascript - 使用 jquery 触发文件输入/假按钮

php - 使用 XmlHttpRequest 发出 DELETE 请求

javascript - 使用 jQuery.on 时保持上下文

javascript - 我如何使用一个函数验证数组中的间隔

javascript - d3 用渐变填充一个区域

javascript - 在不同页面中加载 javascript 的最佳(快速)方法是什么?

javascript - 使用jquery使用shift键选择多行

javascript - Jquery ajax 无限滚动排除页脚高度