Задать вопрос
@helpmeplease196

Почему не работает innerHTML?

<body>
<p >text</p>

  <script type="text/javascript">

   let element = document.querySelectorAll("p");
   element.innerHTMl="new text";

    </script>
</body>
  • Вопрос задан
  • 272 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 3
black1277
@black1277
Вольный стрелок
document.querySelectorAll выбирает не один, а коллекцию элементов. У этой коллекции нет свойства innerHTMl. А у её элементов есть, попробуй так
let element = document.querySelectorAll("p")[0];
   element.innerHTML="new text";

или используй document.querySelector, который получает один элемент.
Ответ написан
Комментировать
Rst0
@Rst0
querySelectorAll в отличие от querySelector - это массив найденных элементов,
соответственно
element[0].innerHTMl="new text";
Ответ написан
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Потому что document.querySelectorAll возвращает NodeList и у него нет свойства innerHtml. Но по этому списку можно итерироваться и вот у каждого элемента уже это свойство есть. Или используйте document.querySelector()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы