-1

だから、私はそのような画像のリストを持っています..

<ul class="image-list">
    <li class="image-icon"><a onclick="showImg(this)"><img src="/gallery/latest/1.jpg"/></a></li>
    <li class="image-icon"><a onclick="showImg(this)"><img src="/gallery/latest/2.jpg"/></a></li>
    <li class="image-icon"><a onclick="showImg(this)"><img src="/gallery/latest/3.jpg"/></a></li>
    <li class="image-icon"><a onclick="showImg(this)"><img src="/gallery/latest/4.jpg"/></a></li>
    <li class="image-icon"><a onclick="showImg(this)"><img src="/gallery/latest/5.jpg"/></a></li>
</ul>

showImg()...

function showImg(img) {
    document.getElementById("photo").innerHTML = "<img src='"+$(img+" img").attr("src")+"'/>";
    $("#photo").slideDown(500);
}

関数showImg()srcattr を取得しthis > img、画像を別の div に配置します。問題は、this最初の画像 src のみを選択していることです。理由はありますか?

ありがとう!

4

2 に答える 2

1

this[HTMLAnchorElement] を jQuery に渡しています

img+" img"おそらくあなたに与えるでしょう[HTMLAnchorElement] img

あなたが欲しいのは

$("img", img)
于 2012-07-16T03:16:58.983 に答える
1

thisコンテキスト セレクターではなく、コンテキストとして使用します。

$("img", img).attr("src")

また、コードを簡素化できます。

$("#photo").html('<img src="'+$("img", img).attr("src")+'" />').slideDown(500);

Fabrício Matté のおかげでさらに簡素化されました。

$('#photo').html($('img', img).clone()).hide().slideDown(500);
于 2012-07-16T03:15:25.383 に答える