Node
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
* Some parts of this feature may have varying levels of support.
Node это интерфейс, от которого наследуют несколько типов DOM, он так же позволяет различным типам быть обработанными(или протестированными).
Следующие интерфейсы полностью наследуют от Node его методы и свойства: Document, Element, CharacterData (which Text, Comment, и CDATASection inherit), ProcessingInstruction, DocumentFragment, DocumentType, Notation, Entity, EntityReference
Эти интерфейсы могут возвращать null в особых случаях, когда методы и свойства не уместны. Они могут сбросить исключение - например, когда добавляются дети к типу узла, у которого не может их существовать.
Свойства
Наследует свойства от родителей EventTarget.[1]
Node.baseURIТолько для чтения-
Возвращает
DOMStringпоказывающие основной URL. Понятие основного URL изменяется из одного языка в другой; В HTML, это соответствует протоколу , доменному имени и структуре каталогов, все до последнего'/'. Node.baseURIObjectНе стандартно-
(Не доступно для веб-контента.) Только для чтения. Объект
nsIURI, представляющий базовый URI элемента. Node.childNodesТолько для чтения-
Возвращает живой
NodeList, содержащий всех потомков данного узла. ЖивойNodeListозначает то, что если потомкиузлаизменяются, объектNodeListавтоматически обновляется. Node.firstChildТолько для чтения-
Возвращает
Node, представляющий первый прямой узел потомок узла илиnull,если узел не имеет потомков. Node.lastChildТолько для чтения-
Возвращает
Node, представляющий последний прямой узел потомок узла илиnull, если узел не имеет потомков. Node.localNameТолько для чтения-
Возвращает
DOMStringпредставляющий локальную часть условного имени элемента. В Firefox 3.5 и более ранних версиях, свойство локального имени в верхнем регистре для HTML-элементов (но не XHTML элементов). В более поздних версиях, такого не произошло, и свойство находится в нижнем регистре для HTML и XHTML. Хотя недавние спецификации требуют отlocalNameбыть определённым как интерфейсElement, но браузеры основанные на Gecko все ещё реализуют его как интерфейсNode. Node.namespaceURIТолько для чтения-
Пространство имён URI данного узла или
null,если нет пространства имён. В Firefox 3.5 и более ранних версиях, HTML-элементы не имеют пространства имён. В более поздних версиях, HTML-элементы находятся в пространстве имёнhttp://www.w3.org/1999/xhtmlдля деревьев HTML и XML. Хотя недавние спецификации требуютnamespaceURIбыть определённым как интерфейсElement, но браузеры основанные на Gecko все ещё реализуют его как интерфейсNode. Node.nextSiblingТолько для чтения-
Возвращает
Nodeпредставляющий следующий узел в древе илиnull,если не такого узла. Node.nodeNameТолько для чтения-
Возвращает
DOMStringсодержащий имяузла. Структура имени будет отличаться от типа имени. Например,HTMLElementбудет содержать имя соответствующего тега:'audio'дляHTMLAudioElement, узелTextбудет строкой'#text'или узелDocumentбудет строкой'#document'. Node.nodePrincipalНе стандартно-
nsIPrincipalпредставляет основной узел. Node.nodeTypeТолько для чтения-
Возвращает беззнаковое короткое число
(unsigned short) представляющее тип узла. Возможные значения:Имя Значение ELEMENT_NODE1ATTRIBUTE_NODEУстарело2TEXT_NODE3CDATA_SECTION_NODEУстарело4ENTITY_REFERENCE_NODEУстарело5ENTITY_NODEУстарело6PROCESSING_INSTRUCTION_NODE7COMMENT_NODE8DOCUMENT_NODE9DOCUMENT_TYPE_NODE10DOCUMENT_FRAGMENT_NODE11NOTATION_NODEУстарело12 Node.nodeValue-
Это
DOMString, представляющее значение объектов. Для большинства типовNode, возвращаетnullи любой набор операция игнорируется. Для узлов типаTEXT_NODE(Textobjects),COMMENT_NODE(Commentobjects), иPROCESSING_INSTRUCTION_NODE(ProcessingInstructionobjects), значение соответствует текстовым данным, содержащихся в объекте. Node.ownerDocumentТолько для чтения-
Возвращает
Documentк которому принадлежит этот узел. Если нет связанного с ним документа, возвращаетnull. Node.parentNodeТолько для чтения-
Возвращает
Nodeкоторый является родителем этого узла. Если нет такого узла, по причине того, что узел находится вверху древа или не относится к древу, данное свойство вернётnull. Node.parentElementТолько для чтения-
Возвращает
Elementкоторый является родителем данного узла. Если узел не имеет родителя или если родитель неElement, это свойство вернётnull. Node.prefixТолько для чтения-
DOMStringпредставляющий префикс пространства имён узла илиnullесли нет префикса точно определённого. Хотя недавние спецификации требуют того, чтобыпрефиксбыл определён как интерфейсElement, браузеры основанные на Gecko ещё реализовывают его как интерфейсNode. Node.previousSiblingТолько для чтения-
Возвращают
Nodeпредставляющий предыдущий узел древа илиnull, если нет такого узла. Node.textContent-
Это
DOMStringпредставляющее текстовый контент элемента и всех его потомков.
Методы
Наследует методы от своих родителей EventTarget.[1]
Node.appendChild()-
Вставляет
Nodeкак последний дочерний узел данного элемента. Node.cloneNode()-
Клонирует
Node, и опционально, все его компоненты. По умолчанию, оно клонирует содержимое узла. Node.compareDocumentPosition()-
…
Node.contains()-
…
Node.getFeature()-
...
Node.getUserData()-
Позволяет пользователю получить некоторый
DOMUserDataот узла. Node.hasAttributes()-
Возвращает
Booleanпоказывающий, есть ли у элемента какие-либо атрибуты или нет. Node.hasChildNodes()-
Возвращает
Booleanпоказывающий, есть ли у элемента дочерние узлы или нет. Node.insertBefore()-
Вставляет первым
Nodeданный в качестве параметра, непосредственно перед вторым, потомком данного элементаNode. Node.isDefaultNamespace()-
…
Node.isEqualNode()-
…
Node.isSameNode()-
…
Node.lookupPrefix()-
…
Node.lookupNamespaceURI()-
…
Node.normalize()-
Очищает все текстовые узлы под этим элементом (поглотить смежный, удалить пустой).
Node.removeChild()-
Удаляет дочерний узел из текущего элемента, который должен быть потомком текущего узла.
Node.replaceChild()-
Заменяет одного потомка
Nodeиз существующего на второй указанный в параметре. Node.setUserData()-
Позволяет пользователю присоединить или удалить
DOMUserDataк узлу.
Примеры
>Просмотреть все дочерние узлы
Следующая функция рекурсивный цикл всех дочерних узлов узла и она исполняет вызов функции относительно их (и себя относительно родительского узла).
function DOMComb(oParent, oCallback) {
if (oParent.hasChildNodes()) {
for (var oNode = oParent.firstChild; oNode; oNode = oNode.nextSibling) {
DOMComb(oNode, oCallback);
}
}
oCallback.call(oParent);
}
Синтаксис
DOMComb(parentNode, callbackFunction);
Описание
Рекурсивный цикл всех дочерних узлов parentNode и самого parentNode, выполняет callbackFunction относительно их как эти объекты.
Параметры
parentNode-
Родительский узел (
Node Object). callbackFunction-
Колбэк-функции (
Function).
Пример использования
Следующий пример отправляет в console.log текстовое содержимое body:
function printContent() {
if (this.nodeValue) {
console.log(this.nodeValue);
}
}
onload = function () {
DOMComb(document.body, printContent);
};
Удалить все потомки, вложенные в узел
Element.prototype.removeAll = function () {
while (this.firstChild) {
this.removeChild(this.firstChild);
}
return this;
};
Пример использования
/* ... как альтернатива document.body.innerHTML = "" ... */
document.body.removeAll();
Спецификации
| Specification |
|---|
| DOM> # interface-node> |
Совместимость с браузерами
Loading…