2010-08-03 21 views
34

Tengo html estructurado como tal.jquery agregar antes del elemento final

<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> 

y lo que estoy tratando de hacer, agregue otro elemento a la clase contenedora antes del item_final div. Los elementos son dinámicos, por lo que no se conoce su número.

Respuesta

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

Personalmente me gusta su enfoque, si siempre quiere referirse al "último" en lugar de un componente que se supone que es el último, entonces esta forma de hacerlo es más segura. –

29

Pruebe el método .insertBefore.

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

'.' debería ser' '# –

+0

@Felix: gracias, corregidos. – David

+4

A quien haya votado negativamente esto: la respuesta es perfectamente correcta. –

Cuestiones relacionadas