我有多个具有相同类别的图像,我想在文件上传到相应的文件后隐藏这些图像。
的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">
如果我上传文件,此代码会隐藏所有图片。
如果我上传了文件img1
,我只想隐藏Image1
,等等。
答案 0 :(得分:1)
您正在选择隐藏所有内容的班级。您应该查看prev(),它只选择具有给定类名的前一个元素。
$(this).prev(".hide").hide();
$(document).rady(function() {
$('input[type=file]').change(function(){
$(this).prev(".hide").hide();
});
});
答案 1 :(得分:1)
您可以使用类hide
获取所有以前的元素,然后从中获取第一个元素。 prevAll()
$(document).ready(function() {
$('input[type=file]').change(function(){
$(this).prevAll(".hide").first().hide();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img class="hide" src="img1.png">
<label>Choose Image1</label>: <input type="file">
<br>
<img class="hide" src="img2.png">
<label>Choose Image2</label>: <input type="file">
<br>
<img class="hide" src="img3.png">
<label>Choose Image3</label>: <input type="file">
<br>
<img class="hide" src="img4.png">
<label>Choose Image4</label>: <input type="file">
&#13;
答案 2 :(得分:0)
假设您将每个文件行放在不同的容器中,我建议使用jQuery siblings()
选择器或closest()
和find()
的组合。
兄弟姐妹示例:
$(document).ready(function() {
$('input[type=file]').change(function() {
$(this).siblings('.hide').hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<img class="hide" src="img1.png">
<label>Choose Image1</label>: <input type="file">
</div>
<div>
<img class="hide" src="img2.png">
<label>Choose Image2</label>: <input type="file">
</div>
最近+查找示例:
$(document).ready(function() {
$('input[type=file]').change(function() {
$(this).closest('.row').find('.hide').hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row">
<img class="hide" src="img1.png">
<div>
<label>Choose Image1</label>: <input type="file">
</div>
</div>
<div class="row">
<img class="hide" src="img2.png">
<div>
<label>Choose Image2</label>: <input type="file">
</div>
</div>