アルバムを作成できる画像共有サイトに取り組んでいます。各アルバムは並べてレンダリングされ、デフォルトでは4つのプレースホルダー画像が含まれています。私が欲しいのは、これらの画像をアルバムの最初の4つの画像に置き換えることです。
アルバムに含めることができる画像は1つだけです。このような場合、残りのプレースホルダー画像はそのままにしておきます。以下のコードでは、すべてのプレースホルダー画像が置き換えられますが、アルバムに1つ(または2つ、または3つ)の画像しか含まれていない場合、残りの画像は「../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コード:(このコードはアルバムごとに1回レンダリングされます)
<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>