Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Knoten: lookupNamespaceURI() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Die lookupNamespaceURI() Methode des Node Interfaces nimmt ein Präfix als Parameter und gibt die Namespace-URI zurück, die damit auf dem gegebenen Knoten verknüpft ist (und null, wenn nicht gefunden). Das Vorhandensein dieser Methode ermöglicht es, Node-Objekte als Namespace-Resolver an XPathEvaluator.createExpression() und XPathEvaluator.evaluate() zu übergeben.

Syntax

js
lookupNamespaceURI(prefix)

Parameter

prefix

Das zu suchende Präfix. Der leere String ist gleichbedeutend mit null, was auf den Standard-Namespace verweist.

Hinweis: Dieser Parameter ist nicht optional, kann aber auf null gesetzt werden.

Rückgabewert

Ein String, der die Namespace-URI enthält, die dem Präfix entspricht.

  • Gibt immer null zurück, wenn der Knoten ein DocumentFragment, DocumentType, ein Document ohne documentElement oder ein Attr ohne zugehöriges Element ist.
  • Wenn prefix "xml" ist, ist der Rückgabewert immer "http://www.w3.org/XML/1998/namespace".
  • Wenn prefix "xmlns" ist, ist der Rückgabewert immer "http://www.w3.org/2000/xmlns/".
  • Wenn das prefix null ist, ist der Rückgabewert die Standard-Namespace-URI.
  • Wenn das Präfix nicht gefunden wird, ist der Rückgabewert null.

Beispiel

Hinweis: Dieses Beispiel läuft in einem HTML-Dokument, in dem xmlns:-Attribute ignoriert werden (außer xmlns:xlink). Firefox setzt alle Namespace-URIs der Elemente auf null, während Chrome und Safari die Standard-Namespace-URIs von HTML-, SVG- und MathML-Elementen korrekt setzen. Wenn Sie aussagekräftigere Tests durchführen möchten, können Sie ein eigenständiges SVG Dokument öffnen und Skripte in dessen Kontext ausführen.

html
<div class="hidden">
  <div>Test HTML element</div>
  <svg>
    <text>Test SVG element</text>
  </svg>
  <svg xmlns:xlink="http://www.w3.org/1999/xlink" id="with-xlink">
    <text>Test SVG element with xlink</text>
  </svg>
  <math>Test MathML element</math>
</div>

<table>
  <thead>
    <tr>
      <th><code>prefix</code></th>
      <th><code>&lt;div&gt;</code></th>
      <th><code>&lt;svg&gt;</code></th>
      <th><code>&lt;svg xmlns:xlink&gt;</code></th>
      <th><code>&lt;math&gt;</code></th>
    </tr>
  </thead>
  <tbody></tbody>
</table>
js
const htmlElt = document.querySelector("div");
const svgElt = document.querySelector("svg");
const svgEltXLink = document.querySelector("#with-xlink");
const mathElt = document.querySelector("math");

const tbody = document.querySelector("tbody");

for (const prefix of ["xmlns", "xml", "html", "svg", "xlink", "", null]) {
  const row = document.createElement("tr");
  tbody.appendChild(row);
  row.appendChild(document.createElement("td")).textContent =
    JSON.stringify(prefix);
  for (const el of [htmlElt, svgElt, svgEltXLink, mathElt]) {
    console.log(el, prefix, el.lookupNamespaceURI(prefix));
    row.appendChild(document.createElement("td")).textContent = String(
      el.lookupNamespaceURI(prefix),
    );
  }
}

Spezifikationen

Specification
DOM
# dom-node-lookupnamespaceuri

Browser-Kompatibilität

Siehe auch