Blog/content/posts/2023/javascript/foreach-html-children.md

36 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "👶🏻 Перебор потомков HTML элемента"
date: 2023-03-12T00:10:00+03:00
draft: false
tags: [tips, javascript]
---
## Перебор потомков HTML элемента
Просто так применить метод `forEach` к атрибуту `.children`
HTML элемента не получится.
Для начала необходимо преобразовать атрибут в массив.
Предположим, что `pageContent` — это `div` с некоторыми однотипными элементами,
которые нужно перебрать методом `forEach`.
```javascript
let pageContent = document.getElementById('page-content');
```
Вот несколько примеров, как преобразовать атрибут
`pageContent.children` в массив.
```javascript
let pageContentChildren = [...pageContent.children];
// или
let pageContentChildren = [].slice.call(pageContent.children);
```
В **ECMAScript 6** добавлено новое API, а именно метод `.from`
для создания массивов из итерируемых объектов.
```javascript
let pageContentChildren = Array.from(pageContent.children.children);
```