Как я могу выйти от $.each
цикл, когда условие соблюдают? Я не хочу выполнять итерации набора далее.
$(vehicles).each(function() {
if (this["@id"] === vehicleId[0]) {
vehicle = this;
}
});
Я попробовал break;
& return;
оператор, но выглядит, что выполнение не не останавливается в той точке. Любая идея значительно ценилась бы.
Возврат false эквивалентен выходу из цикла $ .each. Итак, в вашем примере:
if (this["@id"] === vehicleId[0]) { vehicle = this; return false; }
Поскольку .each ()
выполняет итерацию по обернутому набору и выполняет заданную функцию для каждого элемента, break
не влияет на фактическую итерацию. Однако вы можете добиться желаемого без итераций, просто позвонив
vehicle = $('#' + vehicleId[0], $(vehicles));
или (как было предложено Коби в комментарии)
vehicle = $(vehicle).filter('#' + vehicleId[0]);