jquery 查找下一个 class
jquery find next class
在 foreach 循环中,我有几个 html 块,如下所示:
<label class="">Replace image/poster:</label>
<input type="file" name="replaced_main_image" class="form-control-file-border input-image-preview" />
<!-- preview replaced main image -->
<br />
<label class="">Preview replaced image/poster:</label><br />
<img class="image-preview" width="100" src="#" /> <!-- preview image -->
要预览刚刚选择的要上传的图片,我使用此代码:
// preview new selected image
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('.image-preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]); // convert to base64 string
}
}
$(".input-image-preview").change(function() {
readURL(this);
});
这很好用,但在这种情况下,每个带有 class img-preview
的 img 都会获取源代码。我只想要 class img-preview
.
的下一个 img
据我所知,我必须更改函数中的一行,看起来应该类似于:
reader.onload = function(e) {
find next --> $('.image-preview').attr('src', e.target.result);
}
我不知道正确的语法是什么....
这里:
$(input).nextAll('.image-preview').eq( 0 ).attr('src', e.target.result);
使用 input
作为传递给函数的源,然后找到所有下一个 .image-preview
并使用 .eq( 0 )
将其限制为第一个
在 foreach 循环中,我有几个 html 块,如下所示:
<label class="">Replace image/poster:</label>
<input type="file" name="replaced_main_image" class="form-control-file-border input-image-preview" />
<!-- preview replaced main image -->
<br />
<label class="">Preview replaced image/poster:</label><br />
<img class="image-preview" width="100" src="#" /> <!-- preview image -->
要预览刚刚选择的要上传的图片,我使用此代码:
// preview new selected image
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('.image-preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]); // convert to base64 string
}
}
$(".input-image-preview").change(function() {
readURL(this);
});
这很好用,但在这种情况下,每个带有 class img-preview
的 img 都会获取源代码。我只想要 class img-preview
.
据我所知,我必须更改函数中的一行,看起来应该类似于:
reader.onload = function(e) {
find next --> $('.image-preview').attr('src', e.target.result);
}
我不知道正确的语法是什么....
这里:
$(input).nextAll('.image-preview').eq( 0 ).attr('src', e.target.result);
使用 input
作为传递给函数的源,然后找到所有下一个 .image-preview
并使用 .eq( 0 )