Выбрать все заданные соседние элементы между двумя другими заданными соседними элементами в JavaScript

Выбор всех заданных соседних элементов между двумя другими заданными соседними элементами с помощью JavaScript + CSS.

Пример: цвет текста только тех абзацев (но не div), которые располагаются между первым и вторым заголовками, меняется на красный:

абзац

div

Первый заголовок

div

абзац

div

абзац

Второй заголовок

абзац

div

Другой заголовок

абзац

div

HTML код:


<div class="example">
	<p>абзац</p>
	<div>div</div>
	<h2>Первый заголовок</h2>
	<div>div</div>
	<p>абзац</p>
	<div>div</div>
	<p>абзац</p>
	<h2>Второй заголовок</h2>
	<p>абзац</p>
	<div>div</div>
	<h2>Другой заголовок</h2>
	<p>абзац</p>
	<div>div</div>
</div>

JavaScript код:


<script>
var container = '.example';
var paragraph = 'p';
var heading_1 = 'h2:nth-of-type(1)';
var heading_2 = 'h2:nth-of-type(2)';
// var the_paragraphs = document.querySelectorAll( '.example h2:nth-of-type(1) ~ p:not( h2:nth-of-type(2) ~ p )' );
var the_paragraphs = document.querySelectorAll(' '+container+' '+heading_1+' ~ '+paragraph+':not( '+heading_2+' ~ '+paragraph+' ) ');

for ( var the_paragraph of the_paragraphs ) {
	the_paragraph.classList.add('red');
}
</script>

CSS код:


.red {color: #c00;}

Поддержка в браузерах

  • Windows: Google Chrome 1.0+, Firefox 3.5+, Edge 12.0+, Opera 10.0+, Safari 3.1+
  • Android: Samsung Internet 1.0+, Chrome Android 18.0+, Firefox for Android 4.0+, Opera Android 10.1+
  • iOS: Safari 2.0+

Теги: JavaScript

  • Опубликовано: 3 Января, 2025
  • Последнее редактирование: 3 Января, 2025
Яндекс.Директ Google AdWords Bing Ads Amazon Product Ads HTML CSS JavaScript jQuery PHP CMS CMF MODX Wordpress Drupal ExpressionEngine htaccess SEO SEM HTML CSS JavaScript jQuery PHP CMS CMF MODX Wordpress Drupal ExpressionEngine htaccess SEO SEM Яндекс.Директ Google AdWords Bing Ads Amazon Product Ads