克隆列表元素与按钮

时间:2011-11-20 19:38:20

标签: jquery list clone

jQuery clone()功能有点问题。基本上我有一个清单:

<ul id="portfolio">
 <li id=1><button class="save">content...</button></li>
 <li id=2><button class="save">content...</button></li>
 <li id=3><button class="save">content...</button></li>
 <li id=4><button class="save">content...</button></li>
 <li id=5><button class="save">content...</button></li>
</ul>

我希望每当用户点击列出“保存”按钮时克隆特定列表的内容。到目前为止,我有这个jQuery:

$('.save').click(function() {
 var id = 1;
 $('#portfolio li').each(
  function() { 
    $(this).attr('id', 'id' + id++); 
 });
 $('#id1').clone().appendTo('#drop');
});

此代码使用户能够克隆#id1,因此它是一个开始。但是我怎样才能获得我正在寻找的功能呢?

感谢名单!

2 个答案:

答案 0 :(得分:1)

您定位保存按钮,并克隆父级。

$('.save').click(function() { $(this).parent('li').clone().appendTo('#drop'); });

<强> Here's an Example

重要提示:您应该更改克隆项目的ID,以便不会发生任何冲突!

答案 1 :(得分:0)

我认为这就是你要找的东西:

$(document).ready(function(){
    $('#save').click(function(){
      var count = parseInt($('#portfolio').val());
      var newHTML = [];
      for(var i=0;i<count+1;i++){
        newHTML.push('<ul id=' + count+i ' +'><button class="save">content....</button>');
      }
      $('#portfolio').html(newHTML.join(''));
    });
});

这使得它变得更加难以实现。如果你使用它然后在代码中'id ='。

,那就简单多了