2011-01-26 79 views
0

所以我有這個迷你畫廊。這是我想要的工作: IMG BIG圖片IMG DIV描述DIV IMG縮略圖的img從圖像提取alt屬性到div(圖庫描述目的)

Everyting工作正常,唯獨我不知道我是否正確提取ALT值成股利。代碼INC:

HTML樣本:

<p><img id="largeImg" src="zdjecia/bawialnia.jpg" alt="Large image" /></p> 
    <div id="opis"></div> 
<p class="thumbs"> 

<a href="zdjecia/bawialnia.jpg" title="Bawialnia"><img src="zdjecia/bawialnia-thumb.jpg" alt="some description" /></a> 

的Jquery:

$(document).ready(function(){ 

$("h2").append('<em></em>') 

$(".thumbs a").click(function(){ 

    var largePath = $(this).attr("href"); 
    var largeAlt = $(this).attr("title"); 

    var altText = $(this).attr("alt"); 


    $("#largeImg").attr({ src: largePath, alt: largeAlt }); 

    $("div#opis").html(altText); 

    $("h2 em").html(" (" + largeAlt + ")"); return false; 
}); 

}); 

提前感謝!

+1

當你發現自己寫的'$(本)'反覆,你可能會考慮做一次和緩存結果來代替。 *對'$(...)'的每個*調用都會導致幾個函數調用和一個或兩個內存分配。點擊處理程序中的三個呼叫並不重要,但這是一個不好的習慣。試試'var $ this = $(this);'then'$ this.attr(「href」)','$ this.attr(「title」)'等等。 (如果你正在創建閉包,你可能想在你的函數結束時清除這個變量,例如'$ this = undefined;' - 當然,除非閉包有用。) –

+3

在命名時使用英文你的課程/ ids,或者你會讓其他(不保存非波蘭語的開發者)可以與你的代碼一起工作 - 一致性更重要 - 一切都是英語或波蘭語 - 你的選擇是一致的。 即使現在你沒有與外國開發者合作,從頭開始練習是一個好習慣。英語是所有程序員的通用語言。 –

回答

6

在該上下文中使用$(this).attr("alt")將返回a標籤的alt屬性,而不是子img。

試試這個:

var altText = $(this).find('img').attr('alt');