如何使用jQuery删除最后一个DIV?

时间:2010-01-29 19:03:45

标签: javascript jquery

我有以下格式:

<div id="container1">
<div id="post"> blah blah blah </div>
<div id="post"> blah blah blah </div>
<div id="post"> blah blah blah </div>
</div>

<div id="container2">
<div id="post"> blah blah blah </div>
<div id="post"> blah blah blah </div>
<div id="post"> blah blah blah </div>
</div>

我想要一个jQuery代码来删除“container1”中最后一个带有淡化效果的“post”DIV。

重要提示:“container1”没有指定的“发布”DIV号码。所以代码应该只选择“container1”div中的最后一个“POST”div。

由于

6 个答案:

答案 0 :(得分:18)

$('#container1 #post:last').fadeOut()将删除“container1”中ID为“post”的最后一个div。

另外,就像Gumbo所说,ID应该是唯一的。但是,这个jQuery代码仍然有用。

答案 1 :(得分:7)

IDs must be unique in a document.因此,选择器#post可能无效。但无论如何这应该有效:

$("#container1").children("div[id=post]:last").fadeOut();

答案 2 :(得分:6)

而不是.fadeout,您应该使用.remove从包含div中删除元素。 Fadeout执行淡入淡出过渡,但是元素仍然保留在DOM中,并且在操作div的大小时将被计算。

答案 3 :(得分:4)

要微调淡出时间,您可以使用隐藏:

$(document).ready(function() {
        $("#container2 div:last").hide(2000);
    });

答案 4 :(得分:3)

$("#container1").children("div[id=post]:last").remove();

将删除最后一个div,依此类推,直到删除所有div。

答案 5 :(得分:1)

这会将其淡出并将其从DOM中删除

$('#container1 #post:last').fadeOut('slow',function(){
    $(this).remove();
});