2011-05-25 15 views
5

Necesito agregar el img dentro de una etiqueta <a>. He estado pirateando esto y no tengo solución, volviéndome loco. Si usted puede ayudar, seria maravilloso. Estoy usando jQuery 1,5Jquery append img y

while condition{ 
    $("<img>").attr("src", thumb).appendTo("#images"); 
} 

resultado final debe ser:

<a href="#"><img src="xxxxx"></a> 

Cuando uso Prefijo o appendto puedo obtener este resultado:

<div id="images src="xxxxxxx"><a></a> 
OR 
<a href="#"></a><img src="xxxxx"> 

Gracias por cualquier ayuda.

+0

Trate de usar '$ (' ') .appendTo (' # imágenes ');' en su lugar. – Alxandr

+1

¿Para qué estás usando el ciclo while? – Cristy

+0

puede ver ver las peticiones html completas – mcgrailm

Respuesta

8
$("#images").append($("<a>", 
{ 
    href: "#", 
    html: $("<img>", { src: thumb }) 
})); 

ejemplo de trabajo: http://jsfiddle.net/hunter/Rxkxg/

+1

Interesante short-hand, no sabía que podía pasar un objeto como el segundo parámetro y llenarlo. –

+0

++ Estoy de acuerdo con @Brad. No tenía ni idea :) – Sampson

+0

¿Tanto representante como ustedes dos y ninguno de los dos sabía esto? Encuentro que ser interesante. –

6
$('<a>') // create anchor first 
    .attr('href','#') // set anchor HREF attribute 
    .append(// inside it, append an image 
    $('<img>') // new image 
     .attr('src',thumb) // set image SRC attribute 
) // end append 
    .appendTo('#images') // add to image body 

Casi en el camino correcto ...

demo

+0

@Brad - ¿No se supone que debes cerrar la etiqueta como '$ (" ")' y '$ (" ")' o simplemente es opcional? –

+0

@Scott: opcional, ya que el selector solo está viendo qué etiqueta necesita 'document.createElement'. @Tom: De nada. Y sí, jsFiddle es un sitio web fantástico. ;-) –