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

Не пойму что не так с .innerHTML в JS

Союз Здравых Сил Профи (517), на голосовании 10 месяцев назад
Не пойму что такое на 37й строке?
Мы сначала получаем элемент через querySelectorAll. Потом выводим его в консоль.
И потом перезаписываем этот элемент на '<a>НОВЫЙ ТЕКСТ</a>'
Но он на самой странице почему-то не перезаписывается, там остаётся старый элемент(там где по идее должен появиться новый эл. я красным кружком отметил)
Хотя в консоль новый элемент выводится
Дополнен 11 месяцев назад
*я делал как здесь. Но у него работает, а у меня нет
Дополнен 11 месяцев назад
ё-мое, Семён Семёныч. querySelectorAll - это же коллекция. Надо просто querySelector оставить, он 1 элемент возвращает и всё будет работать
Голосование за лучший ответ
Dlazder Мудрец (16875) 11 месяцев назад
потому что querySelectorAll возвращает nodelist (массив, а не один элемент)
Соответственно ты должен применить изменения для элемента массива а не для самого массива

Вот рабочий пример:
 a.forEach(e => e.innerHTML = '123') 
Союз Здравых СилПрофи (517) 11 месяцев назад
коллекцию. Ну и что?
Dlazder Мудрец (16875) Союз Здравых Сил, да то, что ты изменяешь не у элемента свойство innerHTML, а у массива элементов, что работать не будет
AaacoB Aaac Мудрец (14203) 11 месяцев назад
точку где-нить не поставил...
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (263998) 11 месяцев назад
Возвращать надо не коллекцию, а конкретный элемент
Павел Просветленный (25618) 11 месяцев назад
Ты не делал "как здесь", потому что "здесь" используется document.querySelector() вместо document.querySelectorAll(). Потому и не работает. У коллекций нет свойства innerHTML. JavaScript не выводит такого рода ошибки, он просто создаёт свойство без замечаний.
Союз Здравых СилПрофи (517) 11 месяцев назад
да я понял, я 15 мин назад вопрос дополнил
Павел Просветленный (25618) Союз Здравых Сил, а я 20 минут назад понял что ты понял, но ответ уже был опубликован. Потому что я не обновляю страницу после каждого мною написанного слова :)
Похожие вопросы