2010-09-01 109 views
1

簡單而煩人的問題,但我需要的答案很快,我找不到解決方案。jQuery每次迭代:每個圖庫元素應該有標題!

$('.gallery-item .gallery-icon a').each(function(){ 
     $('.gallery-caption').prepend("<span class='imgtitle'>"+$(this).attr("title")+"</span>") 
    }); 

每個gallery-item都有一個gallery-caption在它下面。我遍歷每個圖庫圖標並找到鏈接的標題。我想在每個圖庫項目標題上加上標題。

現在,每個圖像標題都會預設所有圖像標題。我只想在當前圖像的標題前添加。

+0

請使用'this.title'來獲得標題,而不是使用$(this).attr('title')'創建一個新的jQuery對象。它也更具可讀性。 – 2010-09-01 05:30:02

回答

1

你得到的前綴,因爲這一切的字幕的所有標題:

$('.gallery-caption').prepend(... 

這實際上是告訴jQuery的「前置以下類畫廊字幕的所有元素」

編輯:假設鏈接是標題的兄弟,這樣的事情應該工作:

$(this).parent().children('.gallery-caption').prepend(... 
0

現在你在前面加上匹配名爲.gallery-captio所有元素n條件。你需要指定預先考慮哪些因素 - 一樣,如果你需要預先父 - 使用.parent()

$('.gallery-item .gallery-icon a').each(function(){ 
     $(this).parent().prepend("<span class='imgtitle'>"+$(this).attr("title")+"</span>") 
    }); 

或其他穿越方法。