2012-04-29 7 views
6

Por ejemplo supongamos que tengoEn jQuery, ¿cómo puedo agregar algo como hermano?

<div class="sibling1"></div> 
<div class="sibling3"></div> 

¿Cómo puedo insertar

<div class="sibling2"></div> 

Entre los anteriores? He intentado anteponer pero esto hace que un niño no un hermano

Respuesta

15

En jQuery, hay una serie de opciones diferentes para insertar contenido en una posición determinada. Todo se describe bastante bien en el jQuery documentation page for DOM insertion outside an object.

Para insertar contenido fuera un elemento existente (por ejemplo, no un niño), pero situado con relación a dicho objeto, tiene cuatro opciones se muestran en este jQuery doc pantalla:

enter image description here

La diferencia entre los dos primeros y los dos últimos son únicamente en qué argumentos son cuales. Para los dos primeros, la ubicación para insertar está en el objeto jQuery y el contenido está en el argumento de la función. Para los dos últimos, el contenido que se insertará está en el objeto jQuery y el destino está en el argumento de la función. Debido al encadenamiento de llamadas a múltiples funciones, a veces una u otra es más conveniente.

Como puede ver, esto le permite insertar contenido antes o después de un objeto existente (lo que lo convertirá en un hermano de ese objeto).

Si usted quiere que sea un niño de ese objeto, entonces se podría utilizar cualquiera de los six jQuery methods que se pueden ajustar/cambiar el contenido interno incluyendo .append(), .appendTo(), .html(), etc ...

3

Uso after, así:

$('.sibling1').after('<div class="sibling2"></div>'); 

También puede utilizar los ID en lugar de clases, que se siente más correcto para mí, así:

<div id="sibling1" class="sibling"></div> 
<div id="sibling3" class="sibling"></div> 

Y a continuación, utiliza:

$('#sibling1').after('<div id="sibling2" class="sibling"></div>'); 
Cuestiones relacionadas