Задать вопрос

Как в jQuery получить набор элементов после текущего вплоть до конкретного?

например:
<div></div>
<div></div>
<div class="start"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="end"></div>
<div></div>
<div></div>

нужно получить элементы от start до end

на самом деле все печальней:

<div></div>
<div></div>
<div class="start"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="end"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="start"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div class="end"></div>
<div></div>
<div></div>
  • Вопрос задан
  • 3094 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
DaFive
@DaFive
Если все дивы лежат в контейнере с id test:
var divs = $("#test div.start").nextUntil('div.end');
console.log(divs);

Если без контейнера и больше дивов с такими классами нет, то просто:
var divs = $("div.start").nextUntil('div.end');
console.log(divs);


Модификация для "особых" случаев. Мне на самом деле лень приводить к красивости, вам так нагляднее будет:
var start_divs = $("#test div.start");
var end_divs = $("#test div.end");

for (var i = 0; i < start_divs.length; i++) {
	var $start = $(start_divs[i]);
	var $end = $(end_divs[i]);
	console.log($start.nextUntil($end)) ;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы