Node#

Node.nodeName#

Właściwość nodeName zwraca łańcuch znakowy reprezentujący nazwę danego węzła. Właściwość jest tylko do odczytu.

Opis działania#

Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
var node_name = node.nodeName;

gdzie poszczególne człony oznaczają:

W poniższej tabeli umieszczono zależności między typem węzła a wartością zwracaną przez właściwość nodeName.

Typ węzłanodeNameAlternatywa
ElementNazwa kwalifikowanaElement.tagName
Element.localName (zależnie od sytuacji)
Attr*Nazwa kwalifikowanaAttr.name
Attr.nodeName
Text"#text"
CDATASection*"#cdata-section"
EntityReference*Nazwa
Entity*Nazwa
ProcessingInstructionCelProcessingInstruction.target
Comment"#comment"
Document"#document"
DocumentTypeNazwaDocumentType.name
DocumentFragment"#document fragment"
Notation*Nazwa

Warto podkreślić, że właściwość nodeName ma identyczne działanie jak właściwość Element.tagName, dotyczy to wszystkich elementów, niezależnie od rodzaju dokumentu (XML i jego pochodnych czy HTML). Wymienność z właściwością Element.localName będzie zachodzić w przypadku elementów bez prefiksu przestrzeni nazw i z ewentualną konwersją wszystkich odpowiadających wartości na małe lub duże litery jeśli mamy do czynienia z dokumentami HTML oraz elementami w przestrzeni nazw HTML.

W ramach uzupełnienie proponuję zapoznać się z interesującym artykułem ".nodeName Case Sensitivity" autorstwa Johna Resiga.

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
<script>

	function getInfoNode(desc, whatNode){

		var const_node = [
			"ELEMENT_NODE", "ATTRIBUTE_NODE", "TEXT_NODE", "CDATA_SECTION_NODE",
			"ENTITY_REFERENCE_NODE", "ENTITY_NODE", "PROCESSING_INSTRUCTION_NODE", "COMMENT_NODE",
			"DOCUMENT_NODE", "DOCUMENT_TYPE_NODE", "DOCUMENT_FRAGMENT_NODE", "NOTATION_NODE"
		];
		var const_val = whatNode[const_node[whatNode.nodeType - 1]];

		doc.write(desc + "<br>");
		doc.write("Interfejs: " + whatNode + "<br>");
		doc.write("nodeType: " + whatNode.nodeType + "<br>");
		doc.write("nodeName: " + whatNode.nodeName + "<br>");
		doc.write("nodeValue: " + whatNode.nodeValue + "<br>");
		doc.write("Stała " + const_node[whatNode.nodeType] + ": " + const_val + "<br><br>");

	}

	var doc = document; // domyślny dokument tworzony przez parser HTML
	getInfoNode("Parametry dla węzła typu Document:", doc);

	var newDocXML = doc.implementation.createDocument("", "", null);
	getInfoNode("Parametry dla węzła typu XMLDocument:", newDocXML);

	var newDTD = document.implementation.createDocumentType("nazwaDTD", "publiczny ID", "systemowy ID");
	getInfoNode("Parametry dla węzła typu DocumentType:", newDTD);

	var newFragment = doc.createDocumentFragment();
	getInfoNode("Parametry dla węzła typu DocumentFragment:", newFragment);

	var newElement = doc.createElement("NazwaKwalifikowanaElementu");
	getInfoNode("Parametry dla węzła typu Element:", newElement);

	var newText = doc.createTextNode("Treść węzła tekstowego.");
	getInfoNode("Parametry dla węzła typu Text:", newText);

	var newComment = doc.createComment("Treść węzła komentarzowego");
	getInfoNode("Parametry dla węzła typu Comment:", newComment);

	var newPI = doc.createProcessingInstruction("celPI", "instrukcjePI");
	getInfoNode("Parametry dla węzła typu ProcessingInstruction:", newPI);

	var newAttr = doc.createAttribute("NazwaKwalifikowanaAtrybutu");
	getInfoNode("Parametry dla obiektu typu  Attr:", newAttr);

</script>

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
interface Node : EventTarget {
	readonly attribute DOMString nodeName;
}

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Node (H1) Node.nodeName (H2) Opis działania (H3) Składnia Web IDL (H3) Specyfikacje i inne materiały (H3)