Как обернуть одни теги исключая другие без множества?

327
19 сентября 2019, 02:10

Нужно обернуть все теги в блоке .article-section-post, исключая некоторые. При использовании .wrapAll() результатом будет один отдельный блок. .wrap() в свою очередь берет каждый тег в нужный мне блок. При построении страницы, это влияет на отображение ширины контента. Еще бы, столько обёрток.

Пример (сайт).

Вопрос: как пройтись по всем элементам родителя .article-section-post открывая тег <div class="max-width-740">, и закрывая при случае, к примеру ul, ol, pre, blockquote. После конструкция повторяется.

$(".article-section-post > *").not("pre, ol, ul, blockquote").wrap("<div class='width-740' />");

Пропущенные элементы врапаю так:

$(".article-section-post").find("ul, ol, blockquote").wrap("<div class='width-740-non-padding' />");
Answer 1

 let $articleElements = $(".article-section-post").children(); 
      let $parts = []; 
      let indx = 0; 
 
      while (true) { 
        if ($($articleElements[indx]).is("pre, ol, ul, blockquote")) { 
          $($parts).wrapAll('<div class="width-740"/>'); 
          $articleElements = $articleElements.slice(++indx); 
          $parts = []; 
          indx = 0; 
          continue; 
        } 
        $parts.push($articleElements[indx]); 
        indx++; 
        if (indx > $articleElements.length - 1) break; 
      } 
      $($parts).wrapAll('<div class="width-740"/>');

READ ALSO
Расширить карусель на мобильном

Расширить карусель на мобильном

Подскажите как карусель слева на мобильном сделать на всю страницу, как слайдерИли если у вас есть готовый пример, то поделитесь пожалуйста

135
Спарсить csv файл с другой страницы

Спарсить csv файл с другой страницы

Возникла потребность в парсинге csv фала расположенного на другом сайтеНакидал ajax, но вот браузер ругается на CORS- мол файл должен располагаться...

158
MouseUp происходит прежде MouseDown [закрыт]

MouseUp происходит прежде MouseDown [закрыт]

Я работаю над приложениемИспользуемые технологии C# и WPF

143