--- title: Element.setAttribute slug: Web/API/Element/setAttribute tags: - API - DOM - Elemento - NeedsBrowserCompatibility - NeedsSpecTable - Referencia - metodo - setAttribute translation_of: Web/API/Element/setAttribute ---

{{APIRef("DOM")}}

Establece el valor de un atributo en el elemento indicado. Si el atributo ya existe, el valor es actualizado, en caso contrario, el nuevo atributo es añadido con el nombre y valor indicado.

Para obtener el valor actual de un atributo, se utiliza {{domxref("Element.getAttribute", "getAttribute()")}}; para eliminar un atributo, se llama a {{domxref("Element.removeAttribute", "removeAttribute()")}}.

Sintaxis

Element.setAttribute(name, value);

Parámetros

name
Un {{domxref("DOMString")}} indicando el nombre del atributo cuyo valor se va a cambiar. El nombre del atributo se convierte automáticamente en minúsculas cuando setAttribute() se llama sobre un elemento HTML en un documento HTML.
value
Un {{domxref("DOMString")}} que contenga el valor que asignar al atributo. Cualquier valor indicado que no sea una cadena de texto se convierte automáticamente en una cadena de texto.

Los atributos booleanos se consideran true si al menos están presentes en el elemento, independientemente de su value actual; como regla, se debería especificar una cadena de texto vacía ("") en value (algunas personas utilizan el nombre del atributo; esto funciona pero no es un standard). Vea un {{anch("Ejemplo", "ejemplo")}} posterior para una demostración práctica.

Dado que value se convierte en una cadena de texto, indicando null no necesariamente hace lo que se espera. En lugar de eliminar el atributo o establecer su valor para ser {{jsxref("null")}}, establece el valor del atributo a la cadena de texto "null". Si se desea eliminar un atributo, se debe llamar a {{domxref("Element.removeAttribute", "removeAttribute()")}}.

Valor devuelto

{{jsxref("undefined")}}.

Excepciones

InvalidCharacterError
El atributo especificado name contiene uno o más caracteres que no son válidos en el nombre del atributo.

Ejemplo

En el siguiente ejemplo, setAttribute() se utiliza para establecer atributos en un {{HTMLElement("button")}}.

HTML

<button>Hola Mundo</button>

JavaScript

var b = document.querySelector("button");

b.setAttribute("name", "helloButton");
b.setAttribute("disabled", "");

Esto demuestra dos cosas:

{{ EmbedLiveSample('Example', '300', '50') }}

{{DOMAttributeMethods}}

Especificación

Notas Gecko

Utilizando setAttribute() para modificar ciertos atributos, el más notable es value en XUL, funciona de forma inconsistente, ya que el atributo especifica el valor determinado. Para acceder o modificar los valores actuales, se deben utilizar las propiedades. Por ejemplo, utilizar Element.value en lugar de Element.setAttribute().