Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.04.2021, 00:25
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

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

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


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


А я хочу получить все заголовки (без h1) в том порядке в котором они находятся на странице. Помогите пожалуйста с решением.
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2021, 06:49
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,010

document.querySelectorAll('h2, h3, h4, h5, h6')
Ответить с цитированием
  #3 (permalink)  
Старый 13.04.2021, 07:17
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,742

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

Как то так
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)

Последний раз редактировалось voraa, 13.04.2021 в 07:32.
Ответить с цитированием
  #4 (permalink)  
Старый 13.04.2021, 09:08
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Сообщение от Alexandroppolus Посмотреть сообщение
document.querySelectorAll('h2, h3, h4, h5, h6')
А что так можно было?
Я или забыл, или плохо учил. Да, оказывается в querySelectorAll можно указывать селекторы через запятую. И собирает он в том порядке в котором элементы расположены на странице.
Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите получить массив с уникальными элементами Александр3297 Общие вопросы Javascript 5 09.01.2018 00:04
После Ajax запроса получить массив в php Huozh AJAX и COMET 3 14.05.2017 18:40
как получить многомерный массив из этой строки imedia Элементы интерфейса 1 12.06.2015 15:30
Получить массив объектов по имени ShutTap jQuery 24 16.09.2014 13:45
Как получить javasript массив из php? dima_tr AJAX и COMET 6 01.02.2013 03:37