Versuchen Sie, meine angehängte div auf 4 zu begrenzen, fand ich eine einfache Antwort, aber wenn ich es in zwei verschiedenen $.each()
nur 1 der beiden $.each()
verwendet, wird das Limit.Begrenzung angehängt div in jQuery
Sag ich habe - das wird 4 divs zurückgeben, aber wenn ich zwei von diesen habe, habe ich 4 divs und andere werden keine Elemente angehängt haben.
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>'
);
});
Wie oben -
$.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>'
);
});
erwartete ich sie 4TE anhängen nicht (4 und keine).
Es scheint, dass Ihre beiden divs gleiche IDs 'rcmd_drinks_list' haben. deshalb funktioniert es nicht. kannst du bitte auch deine html einfügen –
Sie teilen sich die gleiche Zählvariable. : -/ – Vic
Reinitialisierst du 'maxAppend' auf 0 vor dem zweiten' $ .each() '? –