我正在开发一个可以创建相册的图像共享网站。每个相册并排呈现,默认包含四个占位符图像。我想要的是用相册中的前四张图片替换这些图片。
问题是一张专辑只能包含一个图像,在这些情况下,我希望其余的占位符图像保持原样。使用下面的代码替换所有占位符图像,但在相册仅包含一个(或两个或三个)图像的情况下,其余图像将替换为“../images/undefined”(其余的代码工作正常,专辑的第一张图片被正确渲染)。
我错过了什么?
js代码:
if ($('.hiddenAlbumNames').length > 0){
$('.hiddenAlbumNames').each(function() {
var i = 0;
var value = $(this).val();
var valueArray = value.split(',');
$(this).parent().find('.albumThumbnail').each(function() {
$(this).attr('src', '../images/' + valueArray[i]);
i++;
});
});
};
html 代码:(此代码为每张专辑呈现一次)
<div class="blog">
<div class="post">
<input class="hiddenAlbumNames" type="hidden" value="album.imageName") <- "album.imageName" is a node.js variable
<div class="albumThumbnailArea">
<img class="albumThumbnail" src='../img/bg.png'>
<img class="albumThumbnail" src='../img/bg.png'>
<img class="albumThumbnail" src='../img/bg.png'>
<img class="albumThumbnail" src='../img/bg.png'>
</div>
</div>
</div>