Вставить блок после каждого N абзаца перед первым найденным H3
by beliyadm
HTML
<div class="itemFullText">
<div id="insertText" class="hidden" style="display: none;">Контент модуля будет здесь</div>
<p>1 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<p>2 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<p>3 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<h3>1 Заголовок Н3</h3>
<p>4 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<p>5 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<h2>Заголовок Н2</h2>
<p>6 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<p>7 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas....
CSS
.loadmod_wrapper {
border: 1px solid red;
}
JavaScript
var pnumber = 3; // после какого абзаца ищем заголовок
var insertText = $('#insertText').html();// получили HTML модуля по заданному ID или классу
var p = $('.itemFullText p:nth-of-type('+pnumber+'n+'+pnumber+')');
var pall = $('.itemFullText p');
$(p).each(function(i,e) {
if (i % pnumber === 0) {
var nextH = $(this).nextAll('h3'); // первый найденный Н3 после третьего абзаца
$(nextH).before('<div class="loadmod_wrapper">'+insertText+'</div>'); // добавляем перед блок с телом модуля
}
});