JS властивість Element.innerText
Загальний опис
innerText
- це властивість об'єкту Element
в JavaScript, яка дозволяє отримувати або встановлювати текстовий вміст елементу. На відміну від властивості innerHTML
, innerText
працює лише з текстовим вмістом, ігноруючи всі HTML-теги. Ця властивість є корисною для маніпуляцій з текстом на веб-сторінці, створення динамічного текстового вмісту або отримання текстових даних з елементів.
Найпростіший спосіб використання innerText
- присвоїти їй рядок з текстом. Наприклад:
const element = document.getElementById('myElement');
element.innerText = 'Новий текстовий вміст';
Цей код замінить весь існуючий текстовий вміст елементу з ідентифікатором 'myElement'
на новий текст.
Властивість innerText
також дозволяє отримувати текстовий вміст елементу. Наприклад:
const element = document.getElementById('myElement');
const text = element.innerText;
console.log(text); // Виведе текстовий вміст елементу
При встановленні innerText
всі існуючі HTML-теги в елементі будуть проігноровані або замінені на відповідний текст. Наприклад:
<div id="myElement"><p>Початковий <strong>текст</strong></p></div>
const element = document.getElementById('myElement');
element.innerText = 'Новий текст';
Після виконання цього коду, елемент <div>
матиме лише текстовий вміст "Новий текст", а всі попередні HTML-теги будуть видалені.
Одна з переваг innerText
полягає в тому, що вона автоматично кодує спеціальні символи, такі як <
або >
, перетворюючи їх на відповідні HTML-сутності. Це допомагає запобігти ризикам безпеки, таким як XSS-атаки, при вставці тексту з невідомих джерел.
Властивість innerText
також враховує CSS-стилі елементу, такі як white-space
та text-transform
. Це означає, що текст, який отримується або встановлюється за допомогою innerText
, буде відображатися відповідно до застосованих стилів.
Загалом, innerText
є корисною властивістю для роботи з текстовим вмістом на веб-сторінці. Вона дозволяє легко отримувати та встановлювати текст, ігноруючи HTML-теги та забезпечуючи певний рівень безпеки при вставці тексту з невідомих джерел.
Порада: | Якщо потрібно отримати або встановити текстовий вміст елементу, ігноруючи всі HTML-теги, використовуйте |
Порада: | Пам'ятайте, що |
Порада: | Для досвідчених розробників: якщо потрібно встановити або отримати HTML-вміст елементу, використовуй властивість |
Синтаксис
Element.innerText
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
45 |
1 |
9.6 |
12 |
Переглядач | ||||
---|---|---|---|---|
1 |
18 |
45 |
1 |
Переглядач | ||
---|---|---|
- |
- |
Приклади
У цьому прикладі ми використовуємо властивість innerText
для відображення введеного користувачем тексту в режимі реального часу. Користувач може вводити текст у текстове поле, і цей текст буде відображатися в елементі <div>
як звичайний текст без HTML-розмітки.
Для демонстрації відмінностей між innerText
та innerHTML
, ми додали чекбокс "Показати HTML-теги". Якщо чекбокс ввімкнено, ми використовуємо властивість innerHTML
для відображення тексту з HTML-розміткою, в іншому випадку використовується innerText
.
У цьому прикладі ми використовуємо властивість innerText
для отримання та встановлення текстового вмісту HTML-елемента. На відміну від властивості innerHTML
, innerText
ігнорує всі HTML-теги та повертає лише текстовий вміст.
// Отримуємо посилання на елемент
const myElement = document.getElementById('myElement');
// Отримуємо текстовий вміст елемента
const text = myElement.innerText;
console.log(text); // Виведе текст елемента без HTML-тегів
// Встановлюємо новий текстовий вміст
myElement.innerText = 'Новий текст';
У цьому прикладі ми використовуємо властивість innerText
для створення простого текстового редактора. Користувач може вводити текст у текстове поле, і цей текст буде відображатися в елементі <div>
у режимі реального часу.
// Отримуємо посилання на елементи
const textInput = document.getElementById('textInput');
const outputDiv = document.getElementById('outputDiv');
// Функція для оновлення вмісту елемента
function updateOutput() {
outputDiv.innerText = textInput.value;
}
// Додаємо обробник події для введення тексту
textInput.addEventListener('input', updateOutput);