document.getElementsByTagNameNS
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Resumen
Devuelve una lista de elementos cuyo nombre pertenece a un determinado 'namespace'. La búsqueda se realiza en todo el documento, incluyendo el elemento raíz.
Sintaxis
elements = document.getElementsByTagNameNS(namespace, name);
elements
es una lista del tipoNodeList
de los elementos encontrados, en el orden en el que aparecen en el árbol.namespace
es el nombre URI en el que buscamos. (Véaseelement.namespaceURI
).name
es bien el nombre local por el que buscamos, o bien el valor especial"*"
, que representa todos los elementos (véaseelement.localName
).
Ejemplo
En el siguiente ejemplo, getElementsByTagNameNS
comienza por un elemento padre determinado y busca recurrentemente, hacia abajo, por los elementos que tienen el parámetro name
que concuerda.
Es importante tener en cuenta que cuando el nodo en el que se invoca getElementsByTagName
, no es el nodo document
, en realidad estamos usando el método element.getElementsByTagNameNS.
Para usar el siguiente ejemplo, copia y pega en un documento con la extensión xhtml.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ejemplo de getElementsByTagNameNS</title>
<script type="text/javascript">
function getAllParaElems() {
var allParas = document.getElementsByTagNameNS(
"http://www.w3.org/1999/xhtml",
"p",
);
var num = allParas.length;
alert("Hay " + num + " <p> elementos en este documento");
}
function div1ParaElems() {
var div1 = document.getElementById("div1");
var div1Paras = div1.getElementsByTagNameNS(
"http://www.w3.org/1999/xhtml",
"p",
);
var num = div1Paras.length;
alert("Hay " + num + " <p> elementos en el elemento div1");
}
function div2ParaElems() {
var div2 = document.getElementById("div2");
var div2Paras = div2.getElementsByTagNameNS(
"http://www.w3.org/1999/xhtml",
"p",
);
var num = div2Paras.length;
alert("Hay " + num + " <p> elementos en el elemento div2");
}
</script>
</head>
<body style="border: solid green 3px">
<p>Algo de texto exterior</p>
<p>Algo de texto exterior</p>
<div id="div1" style="border: solid blue 3px">
<p>Algo de texto en div1</p>
<p>Algo de texto en div1</p>
<p>Algo de texto en div1</p>
<div id="div2" style="border: solid red 3px">
<p>Algo de texto en div2</p>
<p>Algo de texto en div2</p>
</div>
</div>
<p>Algo de texto exterior</p>
<p>Algo de texto exterior</p>
<button onclick="getAllParaElems();">
muestra todos los elementos p en el documento</button
><br />
<button onclick="div1ParaElems();">
muestra todos los elementos p en el div1</button
><br />
<button onclick="div2ParaElems();">
muestra todos los elementos p en el div2
</button>
</body>
</html>
Especificaciones
Specification |
---|
DOM Standard # ref-for-dom-document-getelementsbytagnamens① |
Compatibilidad del Navegador
BCD tables only load in the browser