Заметки по практике HTML, CSS, JS
November 14
Совместное использование .textContent и .innerHTML при адресации в js
Использование в js .textContent
и .innerHTML
для одного и того же элемента
Разница:
.textContent
— устанавливает или получает текстовое содержимое элемента без HTML-разметки. Оно выводит только текст, и любые HTML-теги в нем трактуются как текст, а не как разметка..innerHTML
— устанавливает или получает HTML-содержимое элемента. Здесь теги будут интерпретироваться как HTML-разметка, и браузер их обработает.
Если присвоить .textContent
после .innerHTML
, то HTML-разметка не будет отображаться, так как .textContent
перезапишет содержимое только текстом.
Пример:
javascriptCopy codeelement.innerHTML = "<strong>Загрузка</strong> завершена!"; console.log(element.textContent); // Выведет "Загрузка завершена!", а не HTML. element.textContent = "Прогресс: 50%"; console.log(element.innerHTML); // Теперь HTML-разметка стерта, и виден только текст "Прогресс: 50%".
Итак:
Для одного и того же элемента используйте либо .textContent
, либо .innerHTML
в зависимости от того, что именно требуется вывести.