Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получить массив из заголовков h2, h3, h4, h5, h6 (https://javascript.ru/forum/misc/82275-poluchit-massiv-iz-zagolovkov-h2-h3-h4-h5-h6.html)

MC-XOBAHCK 13.04.2021 00:25

Получить массив из заголовков h2, h3, h4, h5, h6
 
Здравствуйте!
Можете подсказать, мне нужно со страницы получить массив всех заголовков без заголовка h1

В хтмл вот эти тэги:
<h2></h2>
<h3></h3>
<h4></h4>
<h5></h5>
<h6></h6>


При помощи querySelectorAll можно получить все заголовки одного уровня:
let heads = document.querySelectorAll('h2');


А я хочу получить все заголовки (без h1) в том порядке в котором они находятся на странице. Помогите пожалуйста с решением.

Alexandroppolus 13.04.2021 06:49

document.querySelectorAll('h2, h3, h4, h5, h6')

voraa 13.04.2021 07:17

Ну можно обойти весь ДОМ и перебирать элементы

Как то так
const helems = []  // массив заголовков

const findH = (par) => {
	if (par.tagName.match(/^H[2-6]$/)) helems.push(par)
	for (let i = 0; i<par.childElementCount; i++)
		findH(par.children[i])
}

findH (document.body)

MC-XOBAHCK 13.04.2021 09:08

Цитата:

Сообщение от Alexandroppolus (Сообщение 535498)
document.querySelectorAll('h2, h3, h4, h5, h6')

А что так можно было? :)
Я или забыл, или плохо учил. Да, оказывается в querySelectorAll можно указывать селекторы через запятую. И собирает он в том порядке в котором элементы расположены на странице.
Спасибо!


Часовой пояс GMT +3, время: 05:14.