所以,我有一个像这样的图像列表..
<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()
获取src
的{{1}} attr并将图像放入另一个div中。问题是,this > img
只选择第一个图像src。有什么想法吗?
谢谢!
答案 0 :(得分:1)
使用this
作为上下文,而不是上下文选择器。
$("img", img).attr("src")
此外,您可以简化代码:
$("#photo").html('<img src="'+$("img", img).attr("src")+'" />').slideDown(500);
FabrícioMatté进一步简化:
$('#photo').html($('img', img).clone()).hide().slideDown(500);
答案 1 :(得分:1)
您正在将this
[HTMLAnchorElement]传递给jQuery
img+" img"
可能会给你[HTMLAnchorElement] img
你想要的是
$("img", img)