2010-01-29 13 views
6

Ho il seguente formato:Come rimuovere l'ultimo DIV usando 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> 

Voglio un codice jQuery per rimuovere l'ultimo "post" DIV nel "Container1" con un effetto di dissolvenza.

Importante: il "contenitore1" non ha un numero DIV "post" specificato. quindi il codice dovrebbe semplicemente selezionare l'ultimo div "POST" nel div "container1".

Grazie

+2

prima di tutto, non si dovrebbe usare id multipli di classi, uso a tal fine anche. un ID deve essere univoco – fmsf

risposta

18

$('#container1 #post:last').fadeOut() sarebbe rimuovere l'ultimo div con l'ID "post" in "container1".

Inoltre, come ha detto Gumbo, gli ID devono essere unici. Tuttavia, questo codice jQuery funzionerà ancora.

7

IDs must be unique in a document. Così il selettore #post probabilmente non funzionerà. Ma questo dovrebbe funzionare in ogni caso:

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

Per regolare con precisione i tempi dissolvenza è possibile utilizzare nascondere invece:

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

o fadeOut (2000) – BBagi

6

invece di .fadeout, è necessario utilizzare .Remove per rimuovere l'elemento dalla div contenitore. Fadeout esegue la transizione di dissolvenza, tuttavia l'elemento rimane nel DOM e verrà conteggiato se si modifica la dimensione del div.

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

rimuoverà ultima div e così via finché tutto div vengono rimossi.

1

Questa svanisce fuori e rimuove dal DOM

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