Node: lookupNamespaceURI() method
The lookupNamespaceURI() method of the Node interface
takes a prefix as parameter and returns the namespace URI associated with it on the given node if found (and
null if not). This method's existence allows Node objects to be passed as a namespace resolver to XPathEvaluator.createExpression() and XPathEvaluator.evaluate().
Syntax
js
lookupNamespaceURI(prefix)
Parameters
prefix-
The prefix to look for.
Note: This parameter is not optional, but can be set to
null.
Return value
A string containing the namespace URI corresponding to the prefix.
- Always returns
nullif the node is aDocumentFragment,DocumentType,Documentwith nodocumentElement, orAttrwith no associated element. - If
prefixis"xml", the return value is always"http://www.w3.org/XML/1998/namespace". - If
prefixis"xmlns", the return value is always"http://www.w3.org/2000/xmlns/". - If the
prefixisnull, the return value is the default namespace URI. - If the prefix is not found, the return value is
null.
Example
html
<div style="display: none">
<div>Test HTML element</div>
<svg>
<text>Test SVG element</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><math></code></th>
</tr>
</thead>
<tbody></tbody>
</table>
js
const htmlElt = document.querySelector("div");
const svgElt = document.querySelector("svg");
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(
Object.assign(document.createElement("td"), {
textContent: JSON.stringify(prefix),
}),
);
for (const el of [htmlElt, svgElt, mathElt]) {
console.log(el, prefix, el.lookupNamespaceURI(prefix));
row.appendChild(
Object.assign(document.createElement("td"), {
textContent: String(el.lookupNamespaceURI(prefix)),
}),
);
}
}
Specifications
| Specification |
|---|
| DOM Standard # dom-node-lookupnamespaceuri |
Browser compatibility
BCD tables only load in the browser