如何删除上一个附加项

时间:2011-05-22 16:09:59

标签: jquery html

我在这里做的是将一些HTML作为HTML添加到我的clipboard。 但是,我希望可以选择从clipboard删除最后添加的元素/项目。

我如何实现这一目标,并且是以下最小标准化编写脚本的方式?

 $(document).ready(function(){
    $('button:not("#delete")').click(function(e){
      $('#clipboard').append($(this).prev('div.images').html()
                 .replace(/\</ig, '&lt;')
                 .replace(/\>/ig, '&gt;'));
    });

    $('#delete').click(function(e){
        $('#clipboard').html(' ');

    });
    });

我已经找到了这个问题的答案,但是如果还有另一种方式来写这个更简洁,更干净,请提出任何建议。感谢

3 个答案:

答案 0 :(得分:2)

$('#clipboard').children().last().remove()

应该这样做

答案 1 :(得分:2)

$('#delete').click(function(e) {
    $('#clipboard').html(' ');
});

清空整个剪贴板。

您要做的是$("#clipboard").children().last().remove();

您还使用.append向您的div添加HTML,而不是添加DOM节点。

var div = $("<div></div>");
div.append($(this).prev('div.images').html().replace(/\</ig, '&lt;').replace(/\>/ig, '&gt;'))
$('#clipboard').append(div);

如果您添加DOM节点,则可以删除它。如果您需要内联元素,请将var div = $("<div></div>")替换为var span = $("<span></span>")

Live Example

答案 2 :(得分:1)

这是我的解决方案: 希望它会有所帮助...某人:D

JSFiddle DEMO

$('#copy').click(function(e) {
   $('.images').clone().appendTo('#clipboard').removeClass('images');
});

$('#delete').live('click', function(e) {
  $('#clipboard').html('');
});

并从剪贴板中删除“最后一项”:

JSFiddle DEMO 2