Element: setAttributeNS() 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.
Warnung: Diese Methode kann Attributwerte übernehmen, die je nach Attribut als HTML, Skript oder als Skript-URL geparst werden. Solche APIs sind als Einspeicherungspunkte bekannt und können potenziell ein Vektor für Cross-Site-Scripting (XSS)-Angriffe sein, wenn der Wert ursprünglich von einem Angreifer stammt.
Sie können dieses Risiko mindern, indem Sie immer das entsprechende vertrauenswürdige Typ-Objekt (TrustedHTML, TrustedScript oder TrustedScriptURL) anstelle von Zeichenketten für jene Attribute verwenden, die sie erfordern, und vertrauenswürdige Typen erzwingen.
Weitere Informationen finden Sie unter Sicherheitsüberlegungen in Element.setAttribute().
Die setAttributeNS() Methode des Element-Interfaces fügt ein neues Attribut hinzu oder ändert den Wert eines Attributs mit dem angegebenen Namensraum und Namen.
Wenn Sie mit HTML-Dokumenten arbeiten und das erforderliche Attribut nicht als Teil eines bestimmten Namensraums angeben müssen, verwenden Sie stattdessen die setAttribute()-Methode.
Beachten Sie, dass setAttributeNS() die einzige Methode für namensraumbezogene Attribute ist, die den vollständig qualifizierten Namen erwartet, d.h. "namespace:local-name".
Syntax
setAttributeNS(namespace, name, value)
Parameter
namespace-
Ein String, der den Namensraum des Attributs angibt.
name-
Ein String, der das Attribut durch seinen qualifizierten Namen identifiziert; das ist ein Namensraumprefix, gefolgt von einem Doppelpunkt, gefolgt von einem lokalen Namen.
value-
Ein vertrauenswürdiger Typ oder String, der den Wert enthält, der dem Attribut zugewiesen werden soll.
Vertrauenswürdige Typ-Instanzen müssen für die folgenden Attribute übergeben werden, wenn vertrauenswürdige Typen erzwungen werden:
- Event-Handler-Inhaltsattribute, wie
onclickundonload, erfordern einTrustedScript. HTMLIFrameElement.srcdocerfordert eineTrustedHTML-Instanz.HTMLScriptElement.srcerfordert eineTrustedScriptURL-Instanz.SVGScriptElement.hreferfordert eineTrustedScriptURL-Instanz.
Vertrauenswürdige Typen werden für andere Attribute nicht erzwungen, daher kann ein String oder ein beliebiger vertrauenswürdiger Typ übergeben werden.
- Event-Handler-Inhaltsattribute, wie
Rückgabewert
Keiner (undefined).
Beispiele
>Grundlegende Verwendung
let d = document.getElementById("d1");
d.setAttributeNS(
"http://www.mozilla.org/ns/specialspace",
"spec:align",
"center",
);
Vertrauenswürdige Typen
Das Beispiel Unsichere Attribute setzen in setAttribute() zeigt, wie Sie setAttributeNS() mit den vertrauenswürdigen Typen verwenden könnten.
Spezifikationen
| Specification |
|---|
| DOM> # ref-for-dom-element-setattributens①> |