Start · Sprachen · JavaScript · Referenz · Element.getAttribute()

Element.getAttribute()

Methode

Gibt den Wert des angegebenen Attributs eines Elements als String zurück oder <code>null</code>, wenn das Attribut nicht existiert.

Kategorie: webapi

Signatur

getAttribute(attrName)

Beschreibung

Die Methode getAttribute() des Element-Interfaces gibt den String-Wert des angegebenen Attributs des angegebenen Elements zurück. Sie gibt null zurück, wenn das Element kein Attribut mit dem angegebenen Namen besitzt.

Wenn Sie die Eigenschaften des Attr-Knotens untersuchen möchten, können Sie stattdessen die Methode getAttributeNode() verwenden.

Verwendungshinweise

Dekodierte character references in Attributwerten

HTML-character-references im Quelltext eines Attributs (zum Beispiel &lt;, &amp; oder &#x3C;) werden vom HTML-Parser beim Parsen des Dokuments dekodiert, sodass getAttribute() den dekodierten Wert zurückgibt und nicht den ursprünglichen Quelltext.

Bei folgendem Markup:

<div id="example" data-payload="&lt;b&gt;hi&lt;/b&gt;"></div>

gibt der Aufruf document.getElementById("example").getAttribute("data-payload") den String "<b>hi</b>" zurück.

Den Rückgabewert von getAttribute() als bereits escaped HTML zu behandeln, ist unsicher. Wenn Sie ein Attribut auslesen, das nicht vertrauenswürdige Daten enthält, und diese anschließend innerHTML zuweisen oder als Markup in das Dokument einfügen, sind alle HTML-references, die zum Escapen von Sonderzeichen verwendet wurden, bereits dekodiert, und das Ergebnis kann für cross-site scripting (XSS) ausgenutzt werden.

Verwenden Sie für nicht vertrauenswürdige Daten textContent (oder eine andere text-sichere API) anstelle von innerHTML.

Auslesen von nonce-Werten

Aus Sicherheitsgründen werden CSP-nonces aus Nicht-Skript-Quellen, wie z.B. CSS-Selektoren und Aufrufen von .getAttribute("nonce"), verborgen.

Verwenden Sie anstelle des Auslesens der nonce aus dem Content-Attribut die Eigenschaft nonce.

Parameter

Name Typ Default Beschreibung
$attrName Pflicht string — Ein String, der den Namen des Attributs angibt. Wenn die Methode auf einem HTML-Element in einem DOM aufgerufen wird, das als HTML-Dokument gekennzeichnet ist, wird der Name in Kleinbuchstaben normalisiert.

Rückgabewert

Typ
string | null
Beschreibung
Ein String mit dem Wert des Attributs oder null, wenn das Element kein Attribut mit dem angegebenen Namen besitzt.

Beispiele

getAttribute() aufrufen

const div1 = document.getElementById("div1");
// <div id="div1">Hi Champ!</div>

const exampleAttr = div1.getAttribute("id");
// "div1"

const lang = div1.getAttribute("lang");
// null

nonce nicht über getAttribute auslesen (unsicher)

const nonce = script.getAttribute("nonce");
// returns empty string

nonce über die Property auslesen

const nonce = script.nonce;