jQuery переносит div из H2 до последнего абзаца

#jquery-selectors #dom-traversal

#jquery-селекторы #обход dom

Вопрос:

Я хочу перенести a <div> С НАЧАЛА <H2> до следующего <H2> , но он начинается только с первого абзаца.

Это то, что у меня есть, что ПОЧТИ выполняет эту работу:

 $('h2:contains("test")').nextUntil('h2').wrapAll('<div class="wrapper" />');
  

Вот мой HTML:

 /* from here */
<h2 class='test'>Include this in the wrap</h2>
<p>this</p>
<p>and this</p>
<p>and this</p> /* to here */

<h2 class='next'>before this</h2>
  

Ответ №1:

Я бы попробовал:

 $("h2.test").nextUntil("h2").andSelf().wrapAll('<div class="wrapper" />');
  

Похоже, это делает свое дело.

Комментарии:

1. @SparrwHawk — Дэвид Эддингс! Тьфу! В любом случае, никаких проблем, в любое время 🙂

2. Дэвид Эддингс? Разве вы не имеете в виду Урсулу Ле Гуин? 😛

3. @SparrHawk — я просто помню персонажа по имени «Спархок» писателя-фантаста Дэвида Эддингса. Меня не впечатлило имя персонажа, поэтому я, так сказать, «судил о книге по ее обложке». Но, потратив десять секунд на поиск в Google, я понял, что жалуюсь на что-то совершенно не связанное 🙂