我试图在点击缩略图时将图像src添加到div中的图像中。问题是当单击另一个thumnail时,图像src不会改变。
HTML代码是:
<a class="thumbnail" href="#" >
<img src="img1">
<img src="img2">
<img src="img3">
</a>
<div class="imageforthumb">
<img class="imageforthumbs">
</div>
使用的Javascript是:
$('.thumbnail').click(function () {
var images = $('.thumbnail img').attr('src');
$(".imageforthumbs").attr('src', images)
});
一旦我点击第一张图片img1,它就被设置为img1,当我点击缩略图时不会更改为img2。请告诉我这里可能有什么问题?
答案 0 :(得分:3)
这一行:
var images = $('.thumbnail img').attr('src');
你总是得到第一张图片的src
。
将您的代码更改为:
$('.thumbnail img').click(function () {
var images = $(this).attr('src');
$(".imageforthumbs").attr('src', images)
});
编辑:正如所指出的,你不需要jQuery来获取attr
,你只需要:
$('.thumbnail img').click(function () {
$(".imageforthumbs").attr('src', this.src)
});
答案 1 :(得分:0)
您的js代码不正确。尝试
$('.thumbnail').click(function (eve) {
$(".imageforthumbs").attr('src', $(eve.target).attr('src'));
});
答案 2 :(得分:0)
将事件委派给<a></a>
标记内的每个图像。然后绑定点击的<img />
。
$('.thumbnail').on('click', 'img', function () {
$(".imageforthumbs")[0].src = this.src;
});