下面代码的Swap部分工作正常,但重置部分是我遇到麻烦的地方。我想要发生的是当你点击列表中的一个图像时,它们全部恢复到_off图像,然后你点击的图像切换到_over。
提前致谢。
// Reset
$('.show').attr('src').replace("_over","_off");
// Swap
if($(this).attr("class") == "show") {
this.src = this.src.replace("_off","_over");
} else {
this.src = this.src.replace("_over","_off");
}
答案 0 :(得分:2)
你可以在绑定图片点击事件处理程序时这样做,因为你唯一需要知道的是当前点击的'img'元素。
$('img').click(function(){ // <-- when img is clicked
$(this).attr('src','_over'); // <-- change current clicked img src = _over
$('img').not(this).attr('src','_off'); // <-- change all other img to src= _off
});
答案 1 :(得分:0)
更改从.attr
返回的值不会更改元素。因此,以下是什么之一:
如果只有一个项目包含show
类:
$('.show')[0].src.replace("_over","_off");
如果有多个,
$('.show').each( function() {
this.src.replace("_over","_off");
});