2010-08-03 10 views
34

Mam html tak skonstruowany.jquery dołącza przed ostatecznym elementem

<div id='container'> 
    <div class='item'> ... </div> 
    <div class='item'> ... </div> 
    <div class='item'> ... </div> 
    ... 
    <div id='item_final'><input type="button" id='addOne'>...</div> 
</div> 

i co próbuję to zrobić dodać inny element do klasy kontenera przed element div. Item_final. Elementy są dynamiczne, więc ich liczba nie jest dostępna.

Odpowiedz

48
$('#container div:last').before($('<div>')); 
+0

Osobiście podoba mi się twoje podejście, jeśli zawsze chcesz odnieść się do "ostatniego" zamiast do elementu, który "przypuszczalnie" jest ostatnim, to ten sposób jest bardziej bezpieczny. –

29

Wypróbuj metodę .insertBefore.

$('<div>').insertBefore('#item_final'); 
+0

'.' powinno być' # ' –

+0

@Felix: dzięki, poprawione. – David

+4

Do tego, kto na to zagłosował: odpowiedź jest całkowicie poprawna. –