JavaScript を使用して HTML ループを作成しています。一連の画像をループし、追加情報とともに表示します。ここに示すように、HTML 出力には常に NaN が表示されるようです。
問題のJavaScriptは次のとおりです。
var caption = '<p></p>';
if($.isEmptyObject(data[i].caption) !== true)
{
caption = '<p class="caption" style="top:'+data[i].height+'px;">'+
data[i].caption +
'</p>';
}
var li = '<li data-uk-modal="{target:#modal-open-image}"'
+ 'class="open"'
+ 'image="'+ data[i].photo +'"'
+ 'caption_height="'+ data[i].height +'"'
+ 'caption="'+ data[i].caption +'">'
+ '<a href="#" class="uk-thumbnail uk-overlay-toggle">'
+ '<div class="uk-overlay">'
+ '<img src="'+ data[i].photo +'" width="250px"/>'
+ caption +
+ '<div class="uk-overlay-caption">'
+ '<p> Sender: ' + data[i].sender + '</p>'
+ '<p> Date: ' + data[i].date + '</p>'
+ '<p> limit: '+ data[i].limit + '</p>'
+ '<p> counter: ' + data[i].counter + '</p>'
+ '</div>'
+ '</div>'
+ '</a>'
+'</li>';
$photo.append(li);
問題はキャプション変数にあると思います。data[i] は、データベース クエリからの配列です。
data[i].caption に何かあるかどうかを確認する必要があります。length を使用してみましたが、うまくいかないので、オブジェクトが存在するかどうかを確認します。それが機能するかどうかはわかりませんが。
私の質問は、キャプションが空であるかどうかを適切に表示する方法です。キャプションがない場合は、var li に何も追加しません。
ありがとう。