Мне нужно в пустой элемент 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);
Посмотрите тут. Метод getElementsByClassName возвращает как видно из названия (elements - множественное число) array-like объект, а не конкретный элемент DOM.
Как получаем доступ к элементу массива?
var elem = document.getElementsByClassName('country');
elem[0].innerHTML = "USA"
Вы обращаетесь к классу, по этому правильно будет:
elem[0].innerHTML = "text";
Ваш код будет корректно работать при обращении к id. Пример:
HTML: <p id="country"></p>
var elem = document.getElementById('country');
elem.innerHTML = "text";
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу сделать условие, при котором в консоль браузера будет выводиться текст в зависимости от ориентации изображения