【发布时间】:2017-08-03 12:44:50
【问题描述】:
我有一个图像“图库”,每个图像下方都有一个选择按钮。当我单击与每个图像相关的按钮时,我希望图像不透明度更改为 0.5。我宁愿在没有每个图像都有单独的 id 的情况下这样做。警告:我的 jQuery 知识相当一般,我无法完全理解其中的一些!
<div>
Group 1<br>
<img src="http://www.example.com/myimage1.png" class="my-img" /><br>
<button class="mybutton">Click</button>
</div>
<br>
<div>
Group 2<br>
<img src="http://www.example.com/myimage2.png" class="my-img" /><br>
<button class="mybutton">Click</button>
</div>
因此,使用这样的代码,单击任何按钮都会淡化该类的所有图像,而不仅仅是相关图像
$('.mybutton').click(function(){
$('.my-img').css("opacity","0.5");
});
我考虑过使用 .prev() 之类的东西,但我认为我没有正确地理解它并且执行错误。
$('.mybutton').click(function(){
$(this).prev('.my-img').css("opacity","0.5");
});
关于如何解决这个问题的任何想法?
【问题讨论】:
-
可能有点令人困惑,
prev()总是 以紧接在前的元素为目标,尽管它需要一个参数。传递给.prev()的参数指定它应该仅在紧邻 元素也 匹配参数选择器时触发。在这种情况下,它只会针对具有my-img类的<br>标签 :)
标签: javascript jquery css