Tratatuy
@Tratatuy
Люблю задавать вопросы

Как найти все следующие элементы за пределами родителя?

Итак. Существует форма с элементами, и группами элементов, заключенных в блоки.
В форме так же имеется несколько скрытых полей, которые открываются при нажатии на соответствующие чекбоксы и радиокнопки. Таких полей довольно много, по этому делать скрипт для каждого по отдельности не имеет смысла.
Написал вот такой простой вариант:
jsbin.com/niqanucido/edit?html,css,js,output

Но он не работает, так как функция nextAll() ищет только сестринские элементы.

Идея в том, что при изменении свойства чекбокса или радиокнопки с определённым классом должен находится набор элементов следующих за изменяемой кнопкой и первый из этого набора должен подвергаться анимации.

Нужен аналог nextAll(), который ищет за пределами родителей.

Спасибо.
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
//Найдет все подходящие элементы среди потомков элементов, 
//идущих после текущих

$.fn.nextTreeAll = function(selector){
  var next = this.nextAll();
  next.map(function(e){
      return $(e).find(selector);
  });
}


Пример:

<div class="test" id="one"></div>
<div class="test" id="two">
   <div class="test" id="three"></div>
</div>


$("#one").nextTreeAll(".test"); 
//Результат - только блок #three
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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