--- title: Element.setAttribute() slug: Web/API/Element/setAttribute tags: - API - Attributs - DOM - Element - Méthode translation_of: Web/API/Element/setAttribute ---
{{APIRef("DOM")}}
Ajoute un nouvel attribut ou change la valeur d'un attribut existant pour l'élément spécifié. Si l'attribut existe déjà, la valeur est mise à jour ; sinon, un nouvel attribut est ajouté avec le nom et la valeur spécifiés.
Pour obtenir la valeur actuelle d'un attribut, utilisez {{domxref("Element.getAttribute", "getAttribute()")}} ; pour supprimer un attribut, appelez {{domxref("Element.removeAttribute", "removeAttribute()")}}.
Element.setAttribute(name, value);
name
setAttribute()
est appelé sur un élément HTML dans document HTML.value
Les attributs booléens sont considérés être true
(vrai) s'ils sont présents sur l'élément, quelle que soit leur valeur réelle ; en règle générale, vous devez spécifier la chaîne vide (""
) dans value
(certains utilisent le nom de l'attribut, mais ce fonctionnement n'est pas standard). Voir l' {{anch("Exemple", "exemple")}} ce-dessous pour une démonstration pratique.
Puisque la valeur spécifiée est convertie en chaîne, spécifier null
ne fait pas nécessairement ce que vous attendez. Au lieu de supprimer l'attribut ou de définir sa valeur comme {{jsxref("null")}} , il définit à la place la valeur de l'attribut avec la chaîne "null". Si vous souhaitez supprimer un attribut, appelez {{domxref("Element.removeAttribute","removeAttribute()")}}.
{{jsxref("undefined")}}.
InvalidCharacterError
Dans l'exemple suivant, setAttribute()
est utilisé pour définir des attributs sur un {{HTMLElement("button")}} (bouton).
<button>Hello World</button>
var b = document.querySelector("button"); b.setAttribute("name", "helloButton"); b.setAttribute("disabled", "");
Ceci démontre 2 choses :
setAttribute()
ci-dessus montre la modification de la valeur de l'attribut name
en "helloButton". Vous pouvez le voir en utilisant l'inspecteur de page de votre navigateur (Chrome, Edge, Firefox, Safari).disabled
, vous pouvez spécifier n'importe quelle valeur. Une chaîne vide ou le nom de l'attribut sont des valeurs recommandées. Tout ce qui compte est que si l'attribut est présent, quelle que soit sa valeur réelle, sa valeur est considérée comme true
(vraie). L'absence de l'attribut signifie que sa valeur est false
(fausse). En définissant la valeur de l'attribut disabled
sur la chaîne vide (""), nous définissons disabled
sur true
, ce qui entraîne la désactivation du bouton.{{ EmbedLiveSample('Example', '300', '50') }}
{{DOMAttributeMethods}}
L'utilisation de setAttribute()
pour modifier certains attributs, en particulier la valeur dans XUL, fonctionne de façon incohérente, car l'attribut spécifie la valeur par défaut. Pour accéder ou modifier la valeur courante, vous devez utiliser les propriétés. Par exemple, utilisez Element.value
à la place de Element.setAttribute()
.