--- title: Element.attributes slug: Web/API/Element/attributes translation_of: Web/API/Element/attributes ---
{{ APIRef("DOM") }}
La propiedad Element.attributes
retorna una colección "viva" cuyos nodos son todos los atributos registrados en el nodo especificado. Es un {{domxref("NamedNodeMap")}}, no un Array
, así que no tiene los métodos de {{jsxref("Array")}} y los índices de nodo {{domxref("Attr")}} pueden diferir en cada navegador. Más concretamente attributes
es un conjunto de pares de cadenas nombre/valor que representan la información relativa a cada atributo.
var attr = element.attributes;
// Obtiene el primer elemento <p> en el documento var para = document.getElementsByTagName("p")[0]; var atts = para.attributes;
La indexación numérica es útil para recorrer de todos los atributos de un elemento.
El siguiente ejemplo corre a través de los atributors del elemento con id "p1" en el documento, e imprime el valor de cada atributo.
<!DOCTYPE html> <html> <head> <title>Attributes example</title> <script type="text/javascript"> function listAttributes() { var paragraph = document.getElementById("paragraph"); var result = document.getElementById("result"); // Primero, verifiquenmos que el párrafo tiene algún atributo if (paragraph.hasAttributes()) { var attrs = paragraph.attributes; var output = ""; for(var i = attrs.length - 1; i >= 0; i--) { output += attrs[i].name + "->" + attrs[i].value; } result.value = output; } else { result.value = "No hay atributos que mostrar"; } } </script> </head> <body> <p id="paragraph" style="color: green;">Párrafo de ejemplo</p> <form action=""> <p> <input type="button" value="Muestra el nombre cada atributo y su valor" onclick="listAttributes();"> <input id="result" type="text" value=""> </p> </form> </body> </html>
Especificación | Estado | Observaciones |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-element-attributes', 'Element.attributes')}} | {{Spec2('DOM WHATWG')}} | From {{SpecName('DOM3 Core')}}, moved from {{domxref("Node")}} a {{domxref("Element")}} |
{{SpecName('DOM3 Core', 'core.html#ID-84CF096', 'Element.attributes')}} | {{Spec2('DOM3 Core')}} | Sin cambios desde {{SpecName('DOM2 Core')}} |
{{SpecName('DOM2 Core', 'core.html#ID-84CF096', 'Element.attributes')}} | {{Spec2('DOM2 Core')}} | Sin cambios desde {{SpecName('DOM1')}} |
{{SpecName('DOM1', 'level-one-core.html#ID-84CF096', 'Element.attributes')}} | {{Spec2('DOM1')}} | Definición inicial. |
{{ CompatibilityTable() }}
Prestación | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} [1] | 6.0 [2] | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
Prestación | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Soporte básico | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} [1] | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
[1] Anes de Firefox 22, este atributo era implementado en la interfaz {{domxref("Node")}} (heredada de {{domxref("Element")}}). Se trasladó a esta interfaz de acuerdo a la especificación y el uso en otros navegadores.
[2] Internet Explorer 5.5 retorna un mapa conteniendo los valores en lugar de objetos attribute.