Javascript 一次将jQuery事件应用于一个类

Javascript 一次将jQuery事件应用于一个类,javascript,jquery,html,Javascript,Jquery,Html,我有多个同一类的图像,我想隐藏这些图像一旦文件上传到相应的文件 jQuery $(document).ready(function() { $('input[type=file]').change(function(){ $(".hide").hide(); }); }); HTML <img class="hide" src="img1.png"> <label>Choose Image1</label>: <input type="file

我有多个同一类的图像,我想隐藏这些图像一旦文件上传到相应的文件

jQuery

$(document).ready(function() {
 $('input[type=file]').change(function(){
  $(".hide").hide();
 });
});
HTML

<img class="hide" src="img1.png">
<label>Choose Image1</label>: <input type="file">

<img class="hide" src="img2.png">
<label>Choose Image2</label>: <input type="file">

选择图像1:
选择图像2:
如果我上传一个文件,这段代码会隐藏所有图像


如果我上传了文件
Image1
,我只想隐藏
img1
,依此类推。

您选择的是隐藏所有内容的类。您应该看看哪一个只选择了具有给定类名的前一个元素

  $(this).prev(".hide").hide();


您可以使用类
hide
获取前面的所有元素,并从中获取第一个元素

$(文档).ready(函数(){
$('input[type=file]')。更改(函数(){
$(this.prevAll(“.hide”).first().hide();
});
});

选择图像1:

选择图像2:
选择图像3:

选择Image4:
假设每个文件行都位于单独的容器中,我建议使用jQuery选择器或and的组合

兄弟姐妹示例:

$(文档).ready(函数(){
$('input[type=file]')。更改(函数(){
$(this.sides('.hide').hide();
});
});

选择图像1:
选择图像2:

$(this).previous(“.hide”).hide()
prev
函数
获取匹配元素集中每个元素的前一个兄弟元素。如果提供了选择器,则仅当它与该选择器匹配时,它才会检索上一个同级项。
My位于另一个div中,文件输入字段位于另一个div中。@universal在这种情况下,您能否尝试
$(this.parent(“div”).prev(“div”).find(.hide”).hide()我的
在另一个div中,文件输入字段在另一个div中。
$(document).rady(function() {
 $('input[type=file]').change(function(){
        $(this).prev(".hide").hide();

   });
});