从div中删除元素

时间:2011-07-13 19:04:56

标签: jquery

我想知道如何只删除div的最后一个元素,直到只有一个元素,代码如下所示。 我已经能够这样做了以后添加它现在缺少删除。

$("#add").click(function()
{
    $("#divparent").append($("#divchild").html());
});
$("#remove").click(function()
{
   //new code
});

<div id="divparent">
    <div id="divchild">
        <asp:DropDownList ID="DropDownList3" runat="server" Width="270"></asp:DropDownList>
    </div>
</div>

3 个答案:

答案 0 :(得分:4)

首先,你不想让所有的孩子都拥有相同的身份。

这应该适合你:

$("#remove").click(function()
{
    $('#divparent').find(':last-child').not(':only-child').remove();
});

工作示例:http://jsfiddle.net/AlienWebguy/Srfk2/

答案 1 :(得分:1)

我会做一些事情。

  • 我强烈建议您不要附加与其他内容具有相同ID的项目。将其更改为班级
  • 如果这是一个基于asp的列表并动态添加项目,您可能需要查看.live()
  • 我会clone().divchild而不是给孩子起诉。请注意我是如何修改添加功能的
    • .clone()上注意到默认值为false,您可能需要考虑为true,但应根据您的asp下拉列表中的内容调查此问题以适合您的解决方案。

直播示例:http://jsfiddle.net/JWFu5/

$("#add").click(function() {
    $('.divchild:last').clone(true).fadeIn().insertAfter($('.divchild:last'));
});
$("#remove").click(function() {
    var count = $('.divchild').length;
    if (count > 1) {
        $('.divchild:last').fadeOut().detach()
    }
    else {
        alert('You Must Have At Least One Child');
    }
});

答案 2 :(得分:0)

$("#remove").click(function()
{
   if($('#divparent > div').length > 1){
          $('#divparent').find(':last-child').remove();
   }
});

删除最后一个,直到剩下一个

相关问题