2011-01-26 14 views
0

私はこのミニギャラリーを持っています。 IMG BIG画像IMG divの記述のdiv IMGサムネイルは、私はdiv要素の中に正しくALT値を抽出していた場合、私は知らない以外画像からdivへのalt属性の抽出(ギャラリー記述目的)

Everytingが正常に動作のimg:これは、私はそれが仕事をしたい方法です。コード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

'繰り返し、あなたは一度それをやって、代わりにその結果をキャッシュすることを検討してください。 * '$(...) 'を呼び出すたびに、いくつかの関数呼び出しと1つまたは2つのメモリ割り当てが行われます。クリックハンドラでの3回の呼び出しは実際には問題にはなりませんが、入るのは悪い習慣です。 '$ this.attr(" href ")'、 '$ this.attr(" title ")'などを試してください。FWIW。 (クロージャを作成している場合は、関数の終わりにvarをクリアしたい場合があります。たとえば、$ this = undefined;)。 –

+3

名前を付けるときに英語を使用しますあなたのクラス/アイデンティティを作成するか、コードを使って作業できる他の人(非ポーランド語の開発者を保存しない)を作成します。一貫性はさらに重要です。 外国の開発者と仕事をしていないとしても、最初から練習するのは良い習慣です。英語はすべてのプログラマーにとって共通の言語です。 –

答えて

6

この文脈では、$(this).attr("alt")を使用すると、子のimgではなく、タグのalt属性が返されます。

これを試してください:あなた自身が `$(this)を書く見つけたら

var altText = $(this).find('img').attr('alt'); 
関連する問題