Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

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.

Порада:

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

Порада:

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

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

Використовуйте властивість 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);

Синтаксис

Element.textContent

Значення

Return

Переглядачі

Переглядач

1

1

3

9

12

Переглядач

4.4

18

4

1

Переглядач

-

-

Приклади


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

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

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

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

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

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

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

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

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

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