JS метод NodeList.values()


Загальний опис

values() - це метод об'єкта NodeList, який повертає ітератор, що містить значення для кожного вузла в списку. Цей метод корисний, коли потрібно отримати доступ до вмісту вузлів у NodeList без їх індексів. Він часто використовується разом з циклами for...of або іншими конструкціями, що працюють з ітераторами, для ефективного перебору вузлів.

Розглянемо простий приклад використання values():

const paragraphs = document.querySelectorAll('p');
const values = paragraphs.values();

for (const value of values) {
  console.log(value.textContent);
}

У цьому коді ми отримуємо NodeList усіх елементів <p> на сторінці за допомогою document.querySelectorAll('p'). Потім ми застосовуємо метод values() до цього NodeList, що повертає ітератор з вузлами. Далі ми використовуємо цикл for...of для перебору ітератора та виводимо текстовий вміст кожного вузла в консоль.

Метод values() також може бути корисним при перетворенні NodeList на масив. Наприклад:

const links = document.querySelectorAll('a');
const linkArray = Array.from(links.values());

console.log(linkArray);

Тут ми отримуємо NodeList всіх елементів <a> (посилань) на сторінці. Потім ми використовуємо links.values() для отримання ітератора з посиланнями та Array.from() для перетворення цього ітератора на масив. Результуючий масив linkArray міститиме всі елементи <a> зі сторінки.

values() також можна використовувати для перебору вузлів у NodeList за допомогою циклу for...of та виконання певних дій з кожним вузлом. Наприклад:

<ul id="myList">
  <li>Елемент 1</li>
  <li>Елемент 2</li>
  <li>Елемент 3</li>
</ul>
const list = document.getElementById('myList');
const items = list.children;

for (const item of items.values()) {
  item.style.color = 'red';
}

У цьому прикладі ми отримуємо NodeList дочірніх елементів списку за допомогою list.children. Потім ми використовуємо цикл for...of для перебору ітератора, отриманого за допомогою items.values(). На кожній ітерації ми встановлюємо колір тексту поточного елемента списку на червоний.

Метод values() є зручним інструментом для роботи з NodeList у JavaScript. Він дозволяє легко отримувати доступ до значень вузлів, перетворювати NodeList на масиви та виконувати різні операції з вузлами під час перебору. Цей метод робить роботу з NodeList більш гнучкою та ефективною, особливо у поєднанні з циклами for...of та іншими конструкціями, які працюють з ітераторами.

автор: Bond

Порада

Не забувайте перевіряти наявність підтримки методу values() у ваших цільових браузерах, оскільки цей метод може бути не підтримуваний у деяких старих версіях браузерів. В такому випадку рекомендується використовувати альтернативні методи або здійснити підтримку через поліфіли.

автор: Bond
Порада

Використовуючи метод values(), ви можете зручно отримати всі значення елементів у NodeList і виконати з ними певні операції, наприклад, фільтрацію, пошук або зміну.

автор: Bond

Синтаксис

NodeList.values()

Повернення

iterator

Повертає ітератор, який містить значення всіх елементів у NodeList.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
51 50 10 38 16
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
51 51 50 10

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми виводимо в консоль текстовий вміст усіх елементів <p> на сторінці. Ми використовуємо метод values() для отримання ітератора з вузлами NodeList, а потім перебираємо його за допомогою циклу for...of.

HTML

<p>Абзац для прикладу.</p>

JS

const paragraphs = document.querySelectorAll('p');
const values = paragraphs.values();

for (const value of values) {
  console.log(value.textContent);
}
автор: Bond

Цей приклад демонструє, як за допомогою методу NodeList.values() можна отримати ітератор для всіх елементів списку і змінити їх текст при натисканні кнопки. Користувачі зможуть взаємодіяти зі списком, натискаючи на кнопку для зміни тексту елементів.

автор: Bond

У цьому прикладі ми маємо список елементів, і ми хочемо виділити кожен другий елемент, застосувавши до нього стиль CSS. Ми використовуємо метод values() для отримання ітератора з вузлами NodeList, а потім перебираємо його за допомогою циклу for...of та змінюємо стилі кожного другого елемента.

HTML

<ul id="myList">
    <li>Елемент 1</li>
    <li>Елемент 2</li>
    <li>Елемент 3</li>
    <li>Елемент 4</li>
    <li>Елемент 5</li>
</ul>

JS

// querySelectorAll повертає NodeList — саме в нього є метод values()
const items = document.querySelectorAll('#myList li');
let counter = 0;

for (const item of items.values()) {
    if (counter % 2 === 1) {
        item.style.backgroundColor = 'yellow';
        item.style.fontWeight = 'bold';
    }

    counter++;
}
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід