javascript - jQuery改变图像不透明度onclick

标签 javascript jquery css

我有一个图片“画廊”,每张图片下方都有一个选择按钮。当我单击与每个图像相关的按钮时,我希望图像不透明度更改为 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");
});

关于如何处理这个问题有什么想法吗?

https://jsfiddle.net/sanfly/gbkz566b/3/

最佳答案

按钮的前一个元素是 br。因此,在这种情况下,您必须转到父级的根目录并找到 img 的子级并更改其不透明度

$('.mybutton').click(function() {
  $(this).parent().find('img.my-img').css("opacity", "0.5");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  Group 1
  <br>
  <img src="http://i.stack.imgur.com/Hl3Y0.png" class="my-img" />
  <br>
  <button class="mybutton">
    Click
  </button>
</div>
<br>
<div>
  Group 2
  <br>
  <img src="http://i.stack.imgur.com/Hl3Y0.png" class="my-img" />
  <br>
  <button class="mybutton">
    Click
  </button>
</div>

关于javascript - jQuery改变图像不透明度onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45474576/

相关文章:

javascript - 在 Rails 中创建哈希

javascript - 从远程位置加载 Javascript 附带的资源

javascript - 将参数传递给函数

jquery - 如何在从右到左 (rtl) 字段上使用 jquery 掩码?

css - 元素在页面加载时移动

html - 表格单元格周围的第二个框架(仅在 Chrome 中),如何摆脱?

javascript - HTTPS XMLHttpRequest 无法检索正确的页面

javascript - 如何使用 mdb.min.js 将选择框动态更改为 <ul><li>

javascript - jQuery - 在链接上创建元素

css - 影响样式的零宽度空间