配列内の要素をチェックするための条件付きロジックを追加しています。要素が存在する場合は、JSで生成されたマークアップを使用してクラスを追加します。この冗長な条件付きロジックの一部を減らすために、2つの文字列(JSからマークアップとして出力される)の間に条件付きロジックを追加する方法はありますか?
for (var i=0; i<data.length; i++) {
var gallery = data[i];
if (typeof gallery.showcase !== "undefined") {
if (typeof gallery.video !== "undefined") {
$(
"<li class='video " + (typeof gallery.video !== "undefined" ? "test ") + gallery.showcase + "'>" +
"<a href='" + gallery.link + "'></a>" +
"</li>").appendTo("#gallery ul");
}
else {
$(
"<li class='image " + gallery.showcase + "'>" +
"<a href='" + gallery.link + "'>" +
"<img src=" + gallery.image + " alt='" + gallery.title + "'>" +
"</a>"
+ "</li>").appendTo("#gallery ul");
}
}
else {
if (typeof gallery.video !== "undefined") {
$(
"<li class='video'>" +
"<a href='" + gallery.link + "'></a>" +
"</li>").appendTo("#gallery ul");
}
else {
$(
"<li class='image'>" +
"<a href='" + gallery.link + "'>" +
"<img src=" + gallery.image + " alt='" + gallery.title + "'>" +
"</a>"
+ "</li>").appendTo("#gallery ul");
}
}
}
私が望んでいるのは、JSで生成されたマークアップにクラスを追加して、はるかにクリーンな方法で条件付きチェックを実行することです。考え?