2010-12-16 94 views
3

到目前爲止,我有這樣的:我想從圖像標題屬性並將其添加到周圍的鏈接

var imageTitle = $("a.articleimages img").attr("title"); 

$('a.articleimages').attr('title', (imageTitle)); 

問題是,它採用第一個圖像的標題和重複它的每一個環節上。我可以用ID將它關閉,但它會創建很多代碼,因爲您有#image1,然後是#image2等等。對我而言,看起來過度和愚蠢,必須有一個更簡單/更好的方法。也許有一些方法可以讓它知道哪個圖像已被點擊並從中拉取標題。

我想這樣做,所以用戶不必重新輸入一個圖像標題就可以在Fancybox上看到它。

如果有一種方法可以改變fancybox並讓它抓取縮略圖圖像標題並顯示全尺寸圖像,那麼我也會對此感到滿意。

感謝

回答

2

鑑於img是你要設置的title你可以嘗試這樣的事情a的孩子:

$('a.articleimages img').each(function(idx, element) { 
    $(element).parent().attr('title',$(element).attr('title')); 
}); 
+0

這也適用。謝謝。 – 2010-12-16 01:04:22

+0

你得到了我接受的答案,我決定隨機選擇,因爲有這麼多的答案工作。謝謝你們 :) – 2010-12-16 01:10:56

1
var imgs = $("a.articleimages img"); 

imgs.each(function(i, ele){ 
    var img = $(ele); 
    var title = img.attr('title'); 
    img.parent('a').attr('title', title); 
}); 
+0

謝謝大家的作品完美。 – 2010-12-16 01:03:03

+0

如果它的工作,將不勝感激 – Jason 2010-12-16 01:28:10

+0

我試圖做的第一件事,但顯然我需要15聲望,所以它不會讓我。有一天,當我獲得15的聲望時,我會回來,你會得到你真正應得的投票。 – 2010-12-16 02:07:41

2
$("a.articleimages img").each(function() { 
    var $this = $(this); 
    $this.parent().attr('title', $this.attr('title')); 
});