JQuery имеет .each ()
https://api.jquery.com/jQuery.each/
$('div').each(function(idx){ console.log(idx, this) })
this
, являющийся текущим элементом. Преимущество использования $ .each здесь - возможно, более чистый, более читаемый код, и вы также получаете преимущество цепочки.
Однако стоит отметить (хотя, вероятно, это не относится к вашему примеру), что цикл for, скорее всего, будет работать (намного) лучше при итерации по большим коллекциям элементов. Например, вы можете написать это так:
let test = $('input');
for(let i = 0; i < test.length; i++){
console.log(test[i].checked)
}
Далее, for ... in будет работать, но 1) chkbox
будет индексом флажка в коллекции и 2) в отличие от моего первого for...
пример, где я всегда буду целочисленным индексом, for...in
это зациклит все свойства возвращенного объекта JQuery. Вы можете использовать hasOwnProperty(i)
, чтобы отфильтровать унаследованные свойства, подобные этому;
test = $('input');
for(let i in test){
if(!test.hasOwnProperty(i)) {
continue ;
}
console.log(test[i].checked)
}