Как добавить текст через js в html

207
11 марта 2019, 10:40

Мне нужно в пустой элемент p с классом country вставить текст через js. Такой код почему то не работает:

<p class="country"></p>
var elem = document.getElementsByClassName('country');
elem.innerHTML = "USA";
document.body.appendChild(elem);

И такой тоже

var elem = document.getElementsByClassName('country');
var textElem = document.createTextNode('USA');
elem.appendChild(textElem);
Answer 1

Посмотрите тут. Метод getElementsByClassName возвращает как видно из названия (elements - множественное число) array-like объект, а не конкретный элемент DOM.

Как получаем доступ к элементу массива?

var elem = document.getElementsByClassName('country'); 
elem[0].innerHTML = "USA"
Answer 2

Вы обращаетесь к классу, по этому правильно будет:

elem[0].innerHTML = "text";

Ваш код будет корректно работать при обращении к id. Пример:

HTML: <p id="country"></p>
var elem = document.getElementById('country');
elem.innerHTML = "text";
READ ALSO
Сравнение высоты и ширины элемента

Сравнение высоты и ширины элемента

Хочу сделать условие, при котором в консоль браузера будет выводиться текст в зависимости от ориентации изображения

135
Как связать кнопки алфавита со списком городов?

Как связать кнопки алфавита со списком городов?

Есть модальное окно с длинным списком городов

130
Invalid --keyring-migration-source option

Invalid --keyring-migration-source option

Я пытаюсь установить MySQL (Ver 80

393