添付されたdivを4に制限しようとしましたが、私は2つの異なるものを使用すると簡単な答えが見つかりました$.each()
$.each()
のうち1つだけが制限を取得します。jQueryでdivを制限する
これは4つのdivを返しますが、2つある場合は1つに4つのdivがあり、その他には項目が追加されません。上記と同じ
var maxAppend = 0;
$.each(data.drinks.Upsell, function (index, value) {
if (maxAppend >= 4) return;
maxAppend++;
$('#rcmd_snacks_list').append(
'<div class="col-md-3 col-sm-6"> <div class="thumbnail">' +
'<div class="image">' + '<img src="./assets/imgs/' + value.image + '" alt="' + value.name + '" class="img-responsive"> </div>' +
'<div class="caption">' +
'<p class="item-name">' + value.name + '</p>' +
'<p class="price">£' + parseFloat(value.price).toFixed(2) + '</p>' +
'<div class="row"> <button data-key="' + value.name + '" class="btn btn-success btn-sm addToCart" onClick="openNutritionInfo()"> <i class="fa fa-info fa-1x"></i> Nutrition Info</button> </div>' +
'</div>' +
'</div> </div>'
);
});
-
$.each(data.snacks.Upsell, function (index, value) {
if (maxAppend >= 4) return;
maxAppend++;
$('#rcmd_drinks_list').append(
'<div class="col-md-3 col-sm-6"> <div class="thumbnail">' +
'<div class="image">' + '<img src="./assets/imgs/' + value.image + '" alt="' + value.name + '" class="img-responsive"> </div>' +
'<div class="caption">' +
'<p class="item-name">' + value.name + '</p>' +
'<p class="price">£' + parseFloat(value.price).toFixed(2) + '</p>' +
'<div class="row"> <button data-key="' + value.name + '" class="btn btn-success btn-sm addToCart" onClick="openNutritionInfo()"> <i class="fa fa-info fa-1x"></i> Nutrition Info</button> </div>' +
'</div>' +
'</div> </div>'
);
});
私は彼らが4つのdivない(4およびなし)を追加すると予想。
あなたの両方のdivは、同じIDの 'rcmd_drinks_list'を持っているようです。それがうまくいかない理由です。あなたもHTMLを貼り付けてくださいできます –
彼らは同じカウント変数を共有します。 : -/ – Vic
2番目の '$ .each()'を実行する前に 'maxAppend'を0に再初期化していますか? –