Resumen
Agrega un nuevo atributo o cambia el valor de un atributo en un elemento especificado.
Sintaxis
element.setAttribute(name, value);
name
es el nombre del atributo en forma de cadena.value
es el valor desado para el atributo.
Ejemplo
var d = document.getElementById("d1"); d.setAttribute("align", "center");
Notas
Si el atributo especificado ya existe, se cambia el valor del atributo al valor pasado a esta función. Si el atributo no existe, esta función crea el atributo.
Aún en caso de que getAttribute()
devuelva NULL, indicando que el atributo no existe, se debería usar removeAttribute()
en lugar de elt.setAttribute(attr, null)
si queremos eliminar un atributo.
El uso de setAttribute()
para modificar ciertos atributos, especialmente value
en XUL y HTML y selected en HTML, funciona de forma inconsistente, ya que el atributo especifica un valor por defecto. Para acceder o modificar los valores actuales, deberían usarse las propiedades. Ejemplo: use elt.value
en lugar de elt.setAttribute('value', val)
.
Métodos DOM que tratan con atributos de elementos:
Not namespace-aware, most commonly used methods | Namespace-aware variants (DOM Level 2) | DOM Level 1 methods for dealing with Attr nodes directly (seldom used) |
DOM Level 2 namespace-aware methods for dealing with Attr nodes directly (seldom used) |
---|---|---|---|
setAttribute (DOM 1) |
setAttributeNS |
setAttributeNode |
setAttributeNodeNS |
getAttribute (DOM 1) |
getAttributeNS |
getAttributeNode |
getAttributeNodeNS |
hasAttribute (DOM 2) |
hasAttributeNS |
- | - |
removeAttribute (DOM 1) |
removeAttributeNS |
removeAttributeNode |
- |
Especificación
DOM Level 2 Core: setAttribute (introduced in DOM Level 1 Core)