2012-12-19 57 views
0

我想修改我的網站的一些圖片的代碼,在未來的方式: 例如,我有:使用.wrap()函數

<div id="slideshowContainer473"> 
<img src="src_image1" alt="image1" title="image1" /> 
<img src="src_image2" alt="image2" title="image2" /> 
<img src="src_image3" alt="image3" title="image3" /> 
</div> 

我想要什麼,對於每一個圖像,是獲得:

<a href="src_image1" rel="lightbox"><img src="src_image1" alt="image1" title="image1" /></a> 

也就是說,通過jQuery的,給予HREF比SRC相同的值,我還需要補充的rel =「收藏夾」,因爲我覺得用http://lokeshdhakar.com/projects/lightbox/

我想我可以得到它,使用.wrap() 我認爲.each()也是需要的,對吧?

+4

如果你知道這一切已經...你嘗試過什麼? – devnull69

回答

2

試試這個

$("div#slideshowContainer473 img").wrap(function(){ 
    return "<a href=\"" + this.src + "\" rel=\"lightbox\" />"; 
}); 

希望這將幫助!

+0

一旦你習慣了'.wrap'和'.html'等方法中的回調函數,你就會認爲它們在jQuery中無處不在 - 它們通常都是。 – Blazemonger

+0

順便說一下,使用'this.src'返回完整的URL(至少在Chrome中),而$(this).attr('src')'返回HTML中使用的確切字符串。當然,最終的結果對用戶來說是一樣的。 – Blazemonger

0

試試這個

$('img').wrap(function() { 
    return $('<a>', { 
     src: $(this).attr('src'), 
     rel: 'lightbox' 
    }) 
})​ 

Check Fiddle

+0

你實際上並不需要''.each'' [] .wrap'](http://api.jquery.com/wrap/)。 – Blazemonger