Эти три свойства позволяют тебе читать или изменять содержимое DOM-элементов, но они работают принципиально по-разному.
innerHTMLelement.innerHTML = '<b>Hello</b>' отрендеривает жирный текстelement.innerHTML = '<b>Bold text</b>'; // Отрендеривается как жирный
⚠️ Риск безопасности: Никогда не используй innerHTML с непроверенным пользовательским вводом. Это может выполнить вредоносные скрипты, создавая уязвимости Cross-Site Scripting (XSS).
textContentdisplay: none)element.textContent = '<b>Bold text</b>'; // Отрендеривается буквально как: <b>Bold text</b>
innerTextdisplay: none) исключаютсяtextContentelement.innerText; // Возвращает только видимый текст
innerHTML парсит HTML-тегиtextContent их включает, innerText нетtextContent быстрее, чем innerTexttextContent самый безопасный; innerHTML самый опасныйВсегда отдавай предпочтение textContent при работе с контентом, генерируемым пользователем. Если ты должен использовать innerHTML, сначала экранируй весь ввод с помощью надёжной библиотеки, например DOMPurify.
Свойство innerHTML парсит и рендерит HTML-разметку, в то время как textContent обрабатывает весь ввод как простой текст и экранирует HTML-теги, что делает textContent более безопасным выбором для пользовательского контента.
Новый — ещё не проверен сообществом
Вы