我有以下格式:
<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。
由于
答案 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();
});