Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему этот блок кода все время выдает null ?

☀︎Питруха☀︎ Мастер (1801), на голосовании 3 дня назад
  let D = document.querySelector("slider"); 
console.log("Значение ID: ",D);
использую react js
Голосование за лучший ответ
epifan Мыслитель (6759) 1 месяц назад
Как вариант, элемент с таким тегом не существует (<slider>).

Возможно, вы хотите обратиться к элементу по классу, тогда нужно так
 let D = document.querySelector(".slider"); 
☀︎Питруха☀︎Мастер (1801) 1 месяц назад
...с таким id... существует
epifan Мыслитель (6759) ☀︎Питруха☀︎, по id нужно так let D = document.querySelector("#slider");
☀︎Питруха☀︎Мастер (1801) 1 месяц назад
пробовал - то же самое
Нептун канализации Мастер (1023) 1 месяц назад
Потому что такого селектора нет. Может быть либо #slider, либо .slider. Но и этого мало, нужна проверка, что компонент смонтирован на этот момент
☀︎Питруха☀︎Мастер (1801) 1 месяц назад
с решеткой то же самое
Андрей Высший разум (457251) 1 месяц назад
Перемести JS-код на странице вниз - ниже того тега, который ты пытаешься получить.
Рик Санчес Гуру (3639) 1 месяц назад
Потому что нет такого селектора "slider". А если использовать React, то использовать его по-полной и для ссылки на компонент импортировать хук useRef, а не через нативный js
Dlazder Мудрец (15939) 1 месяц назад
такой вызов функции всегда будет возвращать null, ведь ты передал некорректный селектор
Собака Знаток (389) 1 месяц назад
Если используешь реакт, забудь про querySelector.
Повесь на тег ref, и лучше смени слайдер, если он не адаптирован под реакт полностью. Keen-slider, например.
eshth strhrtj Гуру (4186) 3 недели назад
document.querySelector выбирает элемент HTML по его названию/класса/ID или комбинаций селекторов, и возвращает ео в качестве объекта, в случае отсутствия элемента в структуре документа querySelector возвращает null.

При использовании querySelector для выборки элемента нужно использовать именно синтаксис селектора, это тоже самое что и в CSS, например есть селектор тега это body, p, blockquote, img и т.д. само название тега является селектором, чтобы выбрать элемент по классу используется точка пример .slider выберет элемент с классом slider, чтобы выбрать элемент по ID используется решетка # пример #slider

В твоем случае ты пытаешься выбрать элемент с названием slider который в принципе даже не существует в стандарте HTML, это одна из причин по которой может получиться результат null.

Если нужно выбрать элемент с ID используй синтаксис селектора ID такой же как в CSS #slider, если бы ты использовал просто getElementById то # можно было бы не писать.

Другая причина по которой может получиться null это рассположение кода, обычно весь скрипт который обрабатывает HTML расспологают в конце перед </body> либо используют атрибуты async/defer или используется событие DOMContentLoaded.
Похожие вопросы