Что считается текстовым узлом?

Обычно, если в HTML есть текст между тегами, он становится текстовым узлом. Тем не менее, это не всегда так. Рассмотрим этот пример:

<p>
  <a href = "hello.html">hello</a> <a href = "world.html">world</a>
</p>

Здесь разрыв строки и два пробела между <p> и первым <a ...> не будут отображаться как текстовый узел в DOM, по крайней мере, в Chrome. hello и world, конечно же, будут текстовыми узлами. Казалось бы, последовательности, состоящие только из пробелов, не отображаются как текстовые узлы, но это не всегда так: в этом примере пространство между двумя ссылками является текстовым узлом.

Как Chrome решает, что становится текстовым узлом?

Хром не решает. Это в спецификации DOM, которая ясно указывает - насколько это возможно - как это определяется.

Rob 18.11.2018 15:34
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
1
85
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте это в Chrome, и вы увидите, что firstChild из p - это Text:

let p = document.querySelector('p')

console.info(p.firstChild.constructor.name)
<p>
  <a href = "hello.html">hello</a> <a href = "world.html">world</a>
</p>

Редактировать:

Кажется, в Chrome это даже не попробовать, так как он выкидывает "Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."

SO необходимо обновить реализацию своего фрагмента, поскольку на данный момент он явно не работает.

Изменить 2:

Вы можете проверить это в Chrome здесь: https://codepen.io/anon/pen/qQPdbz?editors=1111

Ой! Я был уверен, что если он не отображается в представлении «Элементы», значит, его нет ...

Lev 18.11.2018 16:19

Другие вопросы по теме