2012-03-28 37 views
1

我也不是很明白這個代碼:裹圖片的jQuery和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>'); 

我也嘗試過:

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

最後的代碼的IMG添加到另一個元素是這樣的:

d_row.append(img); 

任何想法? 謝謝。

+0

做你試過:'$(img).wrap('');'? – 2012-03-28 14:45:37

回答

1

第一:因爲img作爲一個jQuery對象創建的,你不需要寫$(img)並重新包裝在一個jQuery對象。只需img就足夠了。

二:如果img一直沒有append編輯該文檔還,那麼你就不能wrap()修改它的地方。

第三個:wrap()旨在返回包裝對象的內容,而不是包裝本身。你需要撥打parent()來獲得。

嘗試:

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

(你不需要關閉</a>,jQuery將自動生成它)

http://jsfiddle.net/TMeP6/

但是:因爲img不再是一個圖像,變量名稱img是不準確的,可能會造成混淆。我想創建一個新的變量名(a_img或東西),並將其存儲在代替:

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

感謝它運作良好! – Alvaro 2012-03-28 15:30:26

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

或者您是否需要更多控制權?