РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
2 of 17 menu

Ошибка получения элемента в JavaScript

Иногда начинающие программисты совершают ошибку, используя для получения одного DOM элемента метод querySelectorAll вместо метода querySelector.

Давайте посмотрим на характерные особенности данной ошибки. Пусть дан абзац:

<p>text</p>

Некий программист решил получить и изменить текст этого абзаца. Для этого он получил ссылку на этот элемент в переменную, ошибочно использовав не тот метод:

let elem = document.querySelectorAll('p');

Затем программист попытался изменить текст абзаца. Однако, текст абзаца не поменялся:

elem.textContent = '!!!'; // не сработало

При этом никакой ошибки в консоли не появилось. Дело в том, что была выполнена допустимая операция, но не над одним элементом, а над группой. А прочитать или изменить текст группы элементов просто так нельзя - только перебрав их циклом и обратившись к каждому элементу по отдельности.

Как обнаружить ошибку

Давайте посмотрим, как программист должен действовать, чтобы обнаружить эту ошибку. На самом деле, обладая некоторым опытом, ее легко обнаружить по характерным признакам.

Пусть этого, однако, не произошло. Toгда первым действием программиста при поиске ошибок должен быть вывод значений переменных в консоль. В его случае есть только одна переменная - elem. Нужно вывести значение этой переменной и посмотреть, что в ней лежит:

let elem = document.querySelectorAll('p'); console.log(elem); // выведет массив, а не один элемент

В консоли сразу видно, что в переменной не один элемент, а массив. Это сразу дает очевидную подсказку о том, что допущена ошибка в методе для получения элемента.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить