JS властивість Element.textContent


Загальний опис

Властивість textContent є вбудованою властивістю об'єкта Element в JavaScript, яка дозволяє отримувати та встановлювати текстовий вміст вузла DOM. На відміну від властивості innerText, textContent повертає весь текст, включно з текстом, прихованим через CSS, і не інтерпретує HTML-розмітку. Ця властивість є корисною для маніпуляцій з текстовим вмістом елементів, створення динамічного контенту, а також для отримання або зміни тексту без необхідності обробки HTML-розмітки.

Властивість textContent може бути використана з будь-яким вузлом DOM, включно з елементами, текстовими вузлами та коментарями. Розглянемо наступний HTML-код:

<div id="myDiv">
  <p>Це <span>приклад</span> тексту.</p>
  <!-- Коментар -->
</div>

Ми можемо отримати та встановити значення textContent наступним чином:

const myDiv = document.getElementById('myDiv');
console.log(myDiv.textContent); // Виведе "Це приклад тексту. <!-- Коментар -->"

const paragraph = myDiv.firstElementChild;
console.log(paragraph.textContent); // Виведе "Це приклад тексту."

paragraph.textContent = 'Новий текст';

Як бачимо, textContent повертає весь текст вузла, включно з текстом, прихованим через CSS, та текстом коментарів. При встановленні textContent будь-яка існуюча HTML-розмітка всередині елемента буде замінена на новий текст.

Властивість textContent часто використовується для динамічного створення контенту на основі даних з JavaScript. Наприклад, ми можемо створити список елементів з масиву:

const fruits = ['Яблуко', 'Банан', 'Апельсин'];
const list = document.createElement('ul');

for (const fruit of fruits) {
  const listItem = document.createElement('li');
  listItem.textContent = fruit;
  list.appendChild(listItem);
}

document.body.appendChild(list);

Цей код створить невпорядкований список (<ul>) з трьома елементами списку (<li>), кожен з яких міститиме текст з відповідного елемента масиву fruits.

Властивість textContent також часто використовується для отримання або зміни тексту елементів без необхідності обробки HTML-розмітки. Наприклад, ми можемо отримати текст з елемента <input> або змінити текст заголовка:

const input = document.querySelector('input');
console.log(input.textContent); // Виведе поточне значення input

const heading = document.querySelector('h1');
heading.textContent = 'Новий заголовок';

Властивість textContent є зручним інструментом для роботи з текстовим вмістом елементів DOM. Вона дозволяє легко отримувати та встановлювати текст, не турбуючись про HTML-розмітку, і є особливо корисною для динамічного створення контенту на основі даних з JavaScript.

автор: Bond

Порада

Пам'ятайте, що властивість textContent повертає весь текст вузла, включно з текстом, прихованим через CSS, та текстом коментарів. Тому, якщо ви хочете отримати лише видимий текст, краще використовувати властивість innerText.

автор: Bond
Порада

Використовуйте властивість textContent для динамічного створення контенту на основі даних з JavaScript. Це дозволить вам легко генерувати HTML-елементи з текстовим вмістом на льоту. Наприклад:

const fruits = ['Яблуко', 'Банан', 'Апельсин'];
const list = document.createElement('ul');

for (const fruit of fruits) {
  const listItem = document.createElement('li');
  listItem.textContent = fruit;
  list.appendChild(listItem);
}

document.body.appendChild(list);
автор: Bond
Порада

Якщо ви потребуєте змінити HTML-розмітку всередині елемента, використовуйте властивість innerHTML замість textContent. Властивість textContent замінить весь вміст елемента на рядок тексту, тоді як innerHTML дозволить вам вставити HTML-розмітку. Наприклад:

const div = document.querySelector('div');
div.textContent = '<p>Новий параграф</p>'; // Встановить текст "<p>Новий параграф</p>"
div.innerHTML = '<p>Новий параграф</p>'; // Створить новий параграф всередині div
автор: Bond

Синтаксис

Element.textContent

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 3 9 12 9
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми використовуємо властивість textContent для заміни текстового вмісту HTML-елемента новим текстом. Спочатку ми отримуємо посилання на потрібний елемент за допомогою document.getElementById('text'), а потім присвоюємо новий текст його властивості textContent. Це корисно, коли потрібно динамічно змінювати текст на веб-сторінці без зміни HTML-розмітки.

HTML

<div id="text">Демонстраційний елемент</div>

JS

// Отримуємо посилання на елемент з id="text"
const textElement = document.getElementById('text');

// Змінюємо текстовий вміст елемента
textElement.textContent = 'Новий текст';
автор: Bond

У цьому прикладі ми використовуємо властивість textContent для встановлення текстового вмісту нового елемента списку, який ми динамічно створюємо та додаємо до існуючого HTML-списку. Спочатку ми отримуємо посилання на елемент списку за допомогою document.getElementById('myList'). Потім ми створюємо новий елемент списку (li) за допомогою document.createElement('li') і встановлюємо його текстовий вміст через newItem.textContent = 'Новий елемент списку'. Нарешті, ми додаємо новий елемент до списку за допомогою list.appendChild(newItem). Цей приклад демонструє, як можна динамічно змінювати структуру DOM (Document Object Model) за допомогою JavaScript та властивості textContent.

HTML

<ul id="myList">
    <li>перший пункт</li>
    <li>другий пункт</li>
</ul>

JS

// Отримуємо посилання на елемент списку
const list = document.getElementById('myList');

// Створюємо новий елемент списку
const newItem = document.createElement('li');

// Додаємо текстовий вміст до нового елемента
newItem.textContent = 'Новий елемент списку';

// Додаємо новий елемент до списку
list.appendChild(newItem);
автор: Bond

У цьому прикладі ми демонструємо використання властивості textContent для динамічної зміни текстового вмісту HTML-елемента. На сторінці є textarea для введення тексту, кнопка "Оновити текст" та div з id="textOutput", де буде відображатися результат.

Коли користувач натискає кнопку, викликається функція updateText(). Ця функція отримує посилання на textarea та div з id="textOutput" за допомогою document.getElementById(). Потім ми зчитуємо введений текст з textarea (textInput.value) і присвоюємо його властивості textContent елемента div (textOutput.textContent = newText).

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід