Element#

Element.localName#

Właściwość localName zwraca nazwę lokalną dla danego elementu (czyli część lokalną z nazwy kwalifikowanej). 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 local_name = element.localName;

gdzie poszczególne człony oznaczają:

W przypadku elementów bez prefiksu przestrzeni nazw wartość właściwość localName jest identyczna z wartościami zwracanymi przez polecenia Node.nodeName lub Element.tagName, z zastrzeżeniem, że w dokumentach HTML oraz elementach w przestrzeni nazw HTML będzie to spełnione dopiero po konwersji wszystkich odpowiadających wartości na małe lub duże litery.

Prosty przykład:

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

	var html = document.documentElement; // referencja do elementu HTML

	document.write("document.documentElement");
	document.write("<br>");
	document.write("Interfejs:" + html); // [object HTMLHtmlElement]
	document.write("<br>");
	document.write("Właściwość namespaceURI: " + html.namespaceURI); // http://www.w3.org/1999/xhtml
	document.write("<br>");
	document.write("Właściwość localName: " + html.localName); // html
	document.write("<br>");
	document.write("Właściwość nodeName: " + html.nodeName); // HTML
	document.write("<br>");
	document.write("Właściwość tagName: " + html.tagName); // HTML

	document.write("<br><br>");

	var newElement1 = document.createElementNS("moja_przestrzeń_nazw", "test:p");

	document.write("document.createElementNS('moja_przestrzeń_nazw', 'test:p');");
	document.write("<br>");
	document.write("Interfejs:" + newElement1); // [object Element]
	document.write("<br>");
	document.write("Właściwość namespaceURI: " + newElement1.namespaceURI); // moja_przestrzeń_nazw
	document.write("<br>");
	document.write("Właściwość localName: " + newElement1.localName); // p
	document.write("<br>");
	document.write("Właściwość nodeName: " + newElement1.nodeName); // test:p
	document.write("<br>");
	document.write("Właściwość tagName: " + newElement1.tagName); // test:p

	document.write("<br><br>");

	var newElement2 = document.createElementNS("http://www.w3.org/1999/xhtml", "test:p");

	document.write("document.createElementNS('http://www.w3.org/1999/xhtml', 'test:p');");
	document.write("<br>");
	document.write("Interfejs:" + newElement2); // [object HTMLParagraphElement]
	document.write("<br>");
	document.write("Właściwość namespaceURI: " + newElement2.namespaceURI); // http://www.w3.org/1999/xhtml
	document.write("<br>");
	document.write("Właściwość localName: " + newElement2.localName); // p
	document.write("<br>");
	document.write("Właściwość nodeName: " + newElement2.nodeName); // TEST:P
	document.write("<br>");
	document.write("Właściwość tagName: " + newElement2.tagName); // TEST:P

	document.write("<br><br>");

	var newElement3 = document.createElementNS("http://www.w3.org/1999/xhtml", "test:nowy");

	document.write("document.createElementNS('http://www.w3.org/1999/xhtml', 'test:nowy');");
	document.write("<br>");
	document.write("Interfejs:" + newElement3); // [object HTMLUnknownElement]
	document.write("<br>");
	document.write("Właściwość namespaceURI: " + newElement3.namespaceURI); // http://www.w3.org/1999/xhtml
	document.write("<br>");
	document.write("Właściwość localName: " + newElement3.localName); // p
	document.write("<br>");
	document.write("Właściwość nodeName: " + newElement3.nodeName); // TEST:P
	document.write("<br>");
	document.write("Właściwość tagName: " + newElement3.tagName); // TEST:P

	document.write("<br><br>");

	var newDoc = document.implementation.createDocument(null, "html", null); // nowy dokument XML
	var newElement4 = newDoc.createElementNS("http://www.w3.org/1999/xhtml", "test:p");

	document.write("newDoc.createElementNS('http://www.w3.org/1999/xhtml', 'test:p');");
	document.write("<br>");
	document.write("Interfejs:" + newElement4); // [object HTMLParagraphElement]
	document.write("<br>");
	document.write("Właściwość namespaceURI: " + newElement4.namespaceURI); // http://www.w3.org/1999/xhtml
	document.write("<br>");
	document.write("Właściwość localName: " + newElement4.localName); // p
	document.write("<br>");
	document.write("Właściwość nodeName: " + newElement4.nodeName); // test:p
	document.write("<br>");
	document.write("Właściwość tagName: " + newElement4.tagName); // test:p

	document.write("<br><br>");

	document.write(document.localName); // undefined (Firefox, Chrome), null (pozostałe przeglądarki) - błędne działanie
	document.write("<br>");
	document.write(Element.prototype.hasOwnProperty("localName")); // true
	document.write("<br>");
	document.write(html.__proto__.__proto__.__proto__.hasOwnProperty("localName")); // true
	document.write("<br>");
	document.write(html.__proto__.__proto__.__proto__); // [object ElementPrototype]

</script>

Właściwość localName dla węzła typu Element pojawia się dopiero w specyfikacji DOM4. W starszych wersjach DOM właściwość była definiowana dla dowolnego węzła, ale obecnie została całkowicie usunięta z interfejsu Node.

Na chwilę obecną jedynie przeglądarki Firefox i Chrome obsługują właściwość localName zgodnie z najnowszymi wymaganiami specyfikacji DOM4, pozostałe programy implementują wcześniejsze wytyczne (szczegóły).

Składnia Web IDL#

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

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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