Каждая часть документа DOM обычно называется «узлом», а узлы бывают разных типов .Узел Text - это не элемент, а любая часть документа, содержащая необработанный текст.
Примите следующее.Сколько узлов вы видите?
<p>Hello!</p>
Есть 2. Узел элемента p
и текстовый узел внутри него как его firstChild
.Все узлы имеют свойство nodeValue
, но, что удивительно, узлы элементов, содержащие текст, не имеют nodeValue
, их фактическое значение находится в текстовом узле, который является дочерним элементом узла элемента.
console.log(document.querySelector("p").nodeType); // 1
console.log(document.querySelector("p").nodeValue); // null
console.log(document.querySelector("p").firstChild.nodeType); // 3
console.log(document.querySelector("p").firstChild.nodeValue); // Hello!
<p>Hello!</p>
Весь текст будет находиться внутри некоторого элемента, и это означает, что наиболее часто встречающиеся текстовые узлы часто создаются из-за пробелов, включенных в исходный код (возврат каретки, табуляция, пробелы).
Я добавил дополнительную строку к вашему выводу, которая выдает номер типа узла, и вы можете видеть, что когда вы нажимаете кнопку «Первый дочерний», он сообщает тип узла 3 (текстовый узел), а не когдаВы нажимаете кнопку «Родительский узел», которая выдает 1 (элементный узел).
<!DOCTYPE HTML>
Example
pre {border: medium double black;}
Есть много разных видов фруктов - более 500 сортов бананов .К тому времени мы добавляем бесчисленные виды яблок ,апельсиныи другие известные фрукты, мы сталкиваемся с тысячами вариантов.
Одним из наиболее интересных аспектов фруктов является сорт, доступный в каждой стране.Я живу недалеко от Лондона, в районе, который известен своими яблоками.
Родитель Первый ребенок Предыдущий брат Следующий брат
var resultsElem = document.getElementById ("results");var element = document.body;var buttons = document.getElementsByTagName ("кнопка");for (var i = 0; i