2011-10-02 42 views
1

這是我第一次來這裏......jQuery的地方P含量爲屬性

我有以下情形:

<div class="album-wrap"> 
    <img src="picture.jpg" alt="Mickey"> 
    <p class="caption">little mouse</p> 
</div> 

<div class="album-wrap"> 
    <img src="picture2.jpg" alt="Donald"> 
    <p class="caption">little duck</p> 
</div> 

的問題是:我怎麼可能把類標題的內容到的alt屬性? 或者可能創建另一個屬性並放置標題類的內容。 謝謝。

回答

4

循環每一個容器中,並使用獲得的.text()元件p的內容。然後,使用.attr()將此值分配給alt屬性。

$(".album-wrap").each(function(){ 
    var caption = $("p.caption", this).text(); 
    $("img", this).attr("alt", caption); 
}) 
+0

那個人很快,我印象深刻!謝謝,這有助於。 – Kinglybird

1

將alt內容替換爲標題的文字。

$('.caption').each(function() { 
    var $this = $(this), 
     $img = $(this).prev('img'); 
    $img.attr('alt', $this.text()); 
}); 

將標題的文字追加到alt內容。

$('.caption').each(function() { 
    var $this = $(this), 
     $img = $(this).prev('img'), 
     alt = $img.attr('alt'); 
    $img.attr('alt', alt + ': ' + $this.text()); 
}); 
0

我將通過img元件迴路,並設置alt屬性各自的內文本,同級p.caption元件。

$('.album-wrap img').each(function() { 
    var $img = $(this); 
    $img.attr('alt', $img.siblings('.caption').text()); 
});