如何使用具有特定值的相同名称抓取最接近多个输入字段的div。
这是我的HTML:
<div id="template" class="file-row">
<input id="id_base64_data" name="base64_data" type="hidden">
<input id="id_base64_name" name="base64_name" type="hidden">
<input id="id_base64_content_type" name="base64_content_type" type="hidden">
<!-- This is used as the file preview template -->
<div>
<span class="preview"><img class="thumb-image" data-dz-thumbnail /></span>
</div>
<div>
<p class="name" data-dz-name></p>
<strong class="error text-danger" data-dz-errormessage></strong>
</div>
<div>
<p class="size" data-dz-size></p>
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0">
<div class="progress-bar progress-bar-success" style="width:0%;" data-dz-uploadprogress></div>
</div>
</div>
<div>
<button class="btn btn-primary start">
<i class="glyphicon glyphicon-upload"></i>
<span>Start</span>
</button>
<a class="btn btn-primary crop btn-cropper-modal" data-toggle="modal" data-target=".cropper-modal">
Crop
</a>
<button data-dz-remove class="btn btn-warning cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>Cancel</span>
</button>
<button data-dz-remove class="btn btn-danger delete">
<i class="glyphicon glyphicon-trash"></i>
<span>Delete</span>
</button>
</div>
</div>
</div>
使用Javascript:
$('input[name=base64_name]').map(function(){
if(this.value == base64_name) {
console.log('x')
$(this).closest(".thumb-image").attr('src', url + image);
}
});
我开始在我的控制台中看到x,但它没有更新我的图像。 但是,当我改变时:
$(this).closest(".thumb-image").attr('src', url + image);
为:
$(".thumb-image").attr('src', url + image);
它正在工作,但随后它会更改所有具有该div名称的图像。
我正在使用Dropzone插件,所以我不能对div名称做很多事情。
任何帮助将不胜感激!
欢呼声
答案 0 :(得分:0)
最近的树在树上走来看自己和它的祖先。你正在寻找的元素是兄弟姐妹的孩子。
$(this).closest(".file-row").find(".thumb-image")