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
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
nullgesetzt werden.
Rückgabewert
Ein String, der die Namespace-URI enthält, die dem Präfix entspricht.
- Gibt immer
nullzurück, wenn der Knoten einDocumentFragment,DocumentType, einDocumentohnedocumentElementoder einAttrohne 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
prefixnullist, 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.
<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><div></code></th>
<th><code><svg></code></th>
<th><code><svg xmlns:xlink></code></th>
<th><code><math></code></th>
</tr>
</thead>
<tbody></tbody>
</table>
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
Loading…