Как в jQuery получить список div'ов в виде массива, а не в виде объекта?

Добрый день, есть несколько блоков на странице, и нужно каждому присвоить что-нибудь посредством jquery.
<div class="gal-item">
		<a href="#"></a>
	</div>
	<div class="gal-item"> 
		<a href="#"></a>
	</div>
	<div class="gal-item"> 
		<a href="#"></a>
	</div>
	<div class="gal-item"> 
		<a href="#"></a>
	</div>


Если сделать так:
var items = $(".gal-item");
То в items будет объект, т.е. если вывести переменную в консоль, то:
init {0: div.gal-item, 1: div.gal-item, 2: div.gal-item, 3: div.gal-item, length: 4, prevObject: init}

А мне все это дело нужно в виде массива. Как можно поступить? Создавать пустой массив и в цикле пушить в него элементы, а потом уже работать с этим массивом? Или можно каким-то образом сразу получить эти дивы в виде массива?
  • Вопрос задан
  • 8507 просмотров
Пригласить эксперта
Ответы на вопрос 3
var items = $(".gal-item");

items - это массивоподобный (array-like) объект, с ним уже можно работать как с обычным массивом.
Тем не менее, в jQuery вам не нужны итераторы, чтобы обрабатывать массив объектов. Например, следующий код добавит класс test для каждого тега, содержащего класс gal-item
$(".gal-item").addClass("test");
Если же вам хочеться получить массив, то тогда
Array.from($(".gal-item"));
Ответ написан
Комментировать
archakov06
@archakov06
Frontend-разработчик (ReactJS)
В смысле? jQuery в любом случаче выдает массив DOM элементов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы