2012-03-28 2 views
1

Я не очень хорошо понимаю, этот код:Wrap JQuery Image и Javascript

var img = $('<img/>', {class: "photo", src: photo.url_n, width: wt, height: ht}).css("margin", border + "px"); 

кажется, создать тег изображения: <img src="" class="photo" ... />

Я просто хочу, чтобы обернуть его ссылкой: <a href="#aaaa"></a>

Но я пытаюсь это, и он не работает:

$(img).wrap('<a></a>'); 

I также пытались просто:

img.wrap('<a></a>'); 

Наконец код добавления IMG к другому элементу, как это:

d_row.append(img); 

Любая идея? Спасибо.

+0

сделал вы пытались: '$ (img) .wrap ('');'? –

ответ

1

Первое: так img создается как объект JQuery, вам не нужно писать $(img) и обернуть его в объект JQuery снова. Достаточно img.

Второе: еслиimg не был append ред к документу еще, то вы не можете изменить его на месте с wrap().

В-третьих:wrap() предназначен для возврата содержимого обернутого объекта, а не самой обертки. Для этого вам нужно позвонить parent().

Try:

img = img.wrap('<a>').parent(); 

(вы не нужны закрытия </a>, JQuery сгенерирует его автоматически)

http://jsfiddle.net/TMeP6/

Однако: так img больше не изображение, имя переменной img является неточным и потенциально запутанным. Я хотел бы создать новую переменную имя (a_img или что-то) и сохранить его в том, что вместо того, чтобы:

a_img = img.wrap('<a>').parent(); 
+0

Спасибо, это сработало! – Alvaro

0
d_row.append('<a>'+img+'</a>'); 

Или вам нужно больше контроля?