Выбор ответа Junior DOM API обновлено

textContent против innerText

Вопрос

Внутри div есть <span style="display:none">секрет</span>. Чем отличается результат чтения div.textContent и div.innerText?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: textContent вернёт и «секрет», а innerText скрытое пропустит. textContent берёт весь текст узлов без учёта CSS, поэтому скрытый span попадёт в результат. innerText возвращает текст так, как его видит пользователь, и учитывает стили, поэтому скрытое пропускает (и при чтении заставляет браузер…

Варианты ответа

  1. Ничем: это синонимы, оба вернут текст вместе со скрытым «секрет»
  2. innerText вернёт разметку, а textContent только текст
  3. textContent не вернёт скрытый текст, а innerText вернёт
  4. textContent вернёт и «секрет», а innerText скрытое пропуститправильный ответ

Разбор

textContent берёт весь текст узлов без учёта CSS, поэтому скрытый span попадёт в результат. innerText возвращает текст так, как его видит пользователь, и учитывает стили, поэтому скрытое пропускает (и при чтении заставляет браузер пересчитать layout). Это не синонимы, и разметку возвращает только innerHTML. Третий вариант описывает поведение наоборот.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме