Node#

Wstęp#

Interfejs Node stanowi definicję Web IDL dla wszystkich węzłów # (nodes) występujących w drzewie węzłów. Nie istnieje bezpośrednio żaden węzeł typu Node, chociaż sam obiekt interfejsu jest dostępny w przestrzeni globalnej (można go rozszerzać) i wszystkie dziedziczące po nim węzły skojarzone zostały z kilkoma podstawowymi zagadnieniami.

W ramach uroszczenia platformy webowej obecna specyfikacja DOM4 pozostawia jedynie 7 rodzajów węzłów, ze wszystkich 12 zdefiniowanych do tej pory, ale nie wiadomo kiedy, i czy w ogóle, nowe zmiany się przyjmą. Wciąż najwięcej kontrowersji wzbudzają plany zerwania z węzłowym charakterem w przypadku atrybutów oraz sekcji CDATA.

Interfejs Node gromadzi w swojej definicji najbardziej ogólne właściwości i metody, które będą miały zastosowanie dla dowolnego węzła, niezależnie od jego typu. Dzięki wyodrębnieniu tych poleceń do osobnego interfejsu nie ma potrzeby dublowania tych samych opisów w każdym interfejsie z osobna. Warto podkreślić, że w pewnych osobliwych przypadkach cześć z udostępnianych poleceń nie będzie miała żadnego praktycznego przełożenia.

Interfejs Node dziedziczy z interfejsu EventTarget, dlatego interfejsy dziedziczące po Node będą miały dostęp do wszystkich poleceń z całego łańcucha dziedziczenia.

Właściwości Node#

NazwaOpis
Node.baseURIZwraca bazowy adres URL z właściciela skojarzonego z danym węzłem.
Node.childNodesZwraca kolekcję węzłową ze wszystkimi dziećmi należącymi do danego węzła.
Node.firstChildZwraca pierwsze dziecko należące do danego węzła.
Node.lastChildZwraca ostatnie dziecko należące do danego węzła.
Node.nextSiblingZwraca brata następującego dla danego węzła.
Node.nodeNameZwraca łańcuch znakowy reprezentujący nazwę danego węzła.
Node.nodeTypeZwraca liczbę całkowitą reprezentującą typ danego węzła.
Node.nodeValueZwraca lub ustawia wartość dla danego węzła.
Node.ownerDocumentZwraca właściciela skojarzonego z danym węzłem.
Node.parentElementZwraca rodzica elementowego dla danego węzła.
Node.parentNodeZwraca rodzica dla danego węzła.
Node.previousSiblingZwraca brata poprzedzającego dla danego węzła.
Node.rootNodeZwraca korzeń dla danego węzła.
Node.textContentZwraca lub ustawia zawartość tekstową dla danego węzła i jego potomków.

Metody Node#

NazwaOpis
Node.appendChild()Dodaje przekazany węzeł za ostatnim dzieckiem w danym węźle i zwraca referencję do przekazanego węzła.
Node.cloneNode()Kopiuje dany węzeł i zwraca referencję do nowej kopii.
Node.compareDocumentPosition()Zwraca maskę bitową będącą wynikiem porównania pozycji przekazanego węzła względem danego węzła.
Node.contains()Zwraca wartość true jeśli przekazany węzeł jest potomkiem obejmującym dla danego węzła, w przeciwnym razie wartość false.
Node.hasChildNodes()Zwraca wartość true jeśli dany węzeł posiada jakiekolwiek dzieci, w przeciwnym razie wartość false.
Node.insertBefore()Dodaje przekazany węzeł przed wskazywane dziecko w danym węźle i zwraca referencję do dodawanego węzła.
Node.isDefaultNamespace()Zwraca wartość true jeśli przekazana przestrzeń nazw jest zgodna z domyślną przestrzenią nazw dla danego węzła, w przeciwnym razie wartość false.
Node.isEqualNode()Zwraca wartość true jeśli przekazany węzeł jest zgodny z danym węzłem, w przeciwnym razie wartość false.
Node.isSameNode()Zwraca wartość true jeśli przekazany węzeł jest równoważny z danym węzłem, w przeciwnym razie wartość false.
Node.lookupNamespaceURI()Zwraca przestrzeń nazw pasującą do przekazanego prefiksu przestrzeni nazw dla danego węzła.
Node.lookupPrefix()Zwraca prefiks przestrzeni nazw pasujący do przekazanej przestrzeni nazw dla danego węzła.
Node.normalize()Usuwa puste węzły tekstowe oraz łączy przyległe węzły tekstowe należące do danego węzła w jeden węzeł tekstowy.
Node.removeChild()Usuwa przekazane dziecko z danego węzła i zwraca referencję do usuniętego dziecka.
Node.replaceChild()Zastępuje przekazanym węzłem wskazywane dziecko w danym węźle i zwraca referencję do zastępowanego dziecka.

Stałe Node#

NazwaZapis dziesiętnyZapis szesnastkowyZnaczenie
Stałe dla właściwości nodeType #
ELEMENT_NODE #11Węzeł typu Element.
ATTRIBUTE_NODE* #22Węzeł typu Attr*.
TEXT_NODE #33Węzeł typu Text.
CDATA_SECTION_NODE* #44Węzeł typu CDATASection*.
ENTITY_REFERENCE_NODE* #55Węzeł typu EntityReference*.
ENTITY_NODE* #66Węzeł typu Entity*.
PROCESSING_INSTRUCTION_NODE #77Węzeł typu ProcessingInstruction.
COMMENT_NODE #88Węzeł typu Comment.
DOCUMENT_NODE #99Węzeł typu Document.
DOCUMENT_TYPE_NODE #1010Węzeł typu DocumentType.
DOCUMENT_FRAGMENT_NODE #1111Węzeł typu DocumentFragment.
NOTATION_NODE* #1212Węzeł typu Notation*.
Stałe dla metody compareDocumentPosition()
DOCUMENT_POSITION_DISCONNECTED #11Węzły nie należą do tego samego drzewa węzłów.
DOCUMENT_POSITION_PRECEDING #22Przekazany węzeł poprzedza dany węzeł.
DOCUMENT_POSITION_FOLLOWING #44Przekazany węzeł następuje po danym węźle.
DOCUMENT_POSITION_CONTAINS #88Przekazany węzeł zawiera dany węzeł.
DOCUMENT_POSITION_CONTAINED_BY #1610Przekazany węzeł jest zawarty w danym węźle.
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC #3220Do prywatnego użytku przez implementację.

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
interface Node # : EventTarget {
	const unsigned short ELEMENT_NODE = 1;
	const unsigned short ATTRIBUTE_NODE = 2; // historical
	const unsigned short TEXT_NODE = 3;
	const unsigned short CDATA_SECTION_NODE = 4; // historical
	const unsigned short ENTITY_REFERENCE_NODE = 5; // historical
	const unsigned short ENTITY_NODE = 6; // historical
	const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
	const unsigned short COMMENT_NODE = 8;
	const unsigned short DOCUMENT_NODE = 9;
	const unsigned short DOCUMENT_TYPE_NODE = 10;
	const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
	const unsigned short NOTATION_NODE = 12; // historical
	readonly attribute unsigned short nodeType;
	readonly attribute DOMString nodeName;

	readonly attribute DOMString baseURI;

	readonly attribute Document? ownerDocument;
	readonly attribute Node rootNode;
	readonly attribute Node? parentNode;
	readonly attribute Element? parentElement;
	boolean hasChildNodes();
	[SameObject] readonly attribute NodeList childNodes;
	readonly attribute Node? firstChild;
	readonly attribute Node? lastChild;
	readonly attribute Node? previousSibling;
	readonly attribute Node? nextSibling;

		attribute DOMString? nodeValue;
		attribute DOMString? textContent;
	void normalize();

	Node cloneNode(optional boolean deep = false);
	boolean isEqualNode(Node? other);
	boolean isSameNode(Node? other); // historical alias of ===

	const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01;
	const unsigned short DOCUMENT_POSITION_PRECEDING = 0x02;
	const unsigned short DOCUMENT_POSITION_FOLLOWING = 0x04;
	const unsigned short DOCUMENT_POSITION_CONTAINS = 0x08;
	const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 0x10;
	const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
	unsigned short compareDocumentPosition(Node other);
	boolean contains(Node? other);

	DOMString? lookupPrefix(DOMString? namespace);
	DOMString? lookupNamespaceURI(DOMString? prefix);
	boolean isDefaultNamespace(DOMString? namespace);

	Node insertBefore(Node other, Node? child);
	Node appendChild(Node other);
	Node replaceChild(Node other, Node child);
	Node removeChild(Node child);
};

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Node (H1) Wstęp (H2) Właściwości Node (H3) Metody Node (H3) Stałe Node (H3) Składnia Web IDL (H3) Specyfikacje i inne materiały (H3)