Element: setAttribute()-Methode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die setAttribute()
-Methode des Element
-Interfaces setzt den Wert eines Attributs auf dem angegebenen Element. Wenn das Attribut bereits existiert, wird der Wert aktualisiert; andernfalls wird ein neues Attribut mit dem angegebenen Namen und Wert hinzugefügt.
Um den aktuellen Wert eines Attributs zu erhalten, verwenden Sie getAttribute()
; um ein Attribut zu entfernen, rufen Sie removeAttribute()
auf.
Wenn Sie mit dem Attr
-Knoten arbeiten müssen (wie zum Beispiel das Klonen von einem anderen Element), bevor Sie ihn hinzufügen, können Sie stattdessen die setAttributeNode()
-Methode verwenden.
Syntax
setAttribute(name, value)
Parameter
name
-
Ein String, der den Namen des Attributs angibt, dessen Wert festgelegt werden soll. Der Attributname wird automatisch in Kleinbuchstaben umgewandelt, wenn
setAttribute()
auf einem HTML-Element in einem HTML-Dokument aufgerufen wird. value
-
Ein String, der den Wert enthält, der dem Attribut zugewiesen wird. Jeder nicht-string Wert, der angegeben wird, wird automatisch in einen String umgewandelt.
Boolesche Attribute gelten als true
, wenn sie überhaupt am Element vorhanden sind. Sie sollten value
auf den leeren String (""
) oder den Attributnamen setzen, ohne führende oder nachfolgende Leerzeichen. Sehen Sie sich das Beispiel unten für eine praktische Demonstration an.
Da der angegebene value
in einen String umgewandelt wird, wird null
nicht unbedingt das tun, was Sie erwarten. Anstatt das Attribut zu entfernen oder seinen Wert auf null
zu setzen, wird der Attributwert auf den String "null"
gesetzt. Wenn Sie ein Attribut entfernen möchten, rufen Sie removeAttribute()
auf.
Rückgabewert
Keiner (undefined
).
Ausnahmen
InvalidCharacterError
DOMException
-
Wird ausgelöst, wenn der
name
-Wert kein gültiger XML-Name ist; beispielsweise, wenn er mit einer Zahl, einem Bindestrich oder einem Punkt beginnt oder Zeichen enthält, die keine alphanumerischen Zeichen, Unterstriche, Bindestriche oder Punkte sind.
Beispiele
Im folgenden Beispiel wird setAttribute()
verwendet, um Attribute auf einem <button>
zu setzen.
HTML
<button>Hello World</button>
JavaScript
const button = document.querySelector("button");
button.setAttribute("name", "helloButton");
button.setAttribute("disabled", "");
Dies demonstriert zwei Dinge:
- Der erste Aufruf von
setAttribute()
oben zeigt, wie der Wert desname
-Attributs auf "helloButton" geändert wird. Dies können Sie im Seiteninspektor Ihres Browsers sehen (Chrome, Edge, Firefox, Safari). - Um den Wert eines Booleschen Attributs, wie
disabled
, festzulegen, können Sie jeden Wert angeben. Ein leerer String oder der Name des Attributs sind empfohlene Werte. Entscheidend ist, dass wenn das Attribut überhaupt vorhanden ist - unabhängig von seinem tatsächlichen Wert - sein Wert alstrue
gilt. Die Abwesenheit des Attributs bedeutet, dass sein Wertfalse
ist. Indem wir den Wert desdisabled
-Attributs auf den leeren String (""
) setzen, setzen wirdisabled
auftrue
, was dazu führt, dass der Button deaktiviert ist.
Spezifikationen
Specification |
---|
DOM> # ref-for-dom-element-setattribute①> |
Browser-Kompatibilität
Loading…