Schaltflächentext über JavaScript setzen [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
Dinnouti

Ich richte eine Schaltfläche über JavaScript ein, aber die Schaltfläche zeigt den Text nicht an.

Irgendwelche Empfehlungen, wie man es beheben kann?

var b = document.createElement('button');
b.setAttribute('content', 'test content');
b.setAttribute('class', 'btn');
b.value="test value";

var wrapper = document.getElementById(divWrapper);
wrapper.appendChild(b);

Benutzer-Avatar
Stevie

Verwenden textContent Anstatt von value um den Schaltflächentext festzulegen.

In der Regel der Wert Attribut wird verwendet, um der Schaltfläche einen Wert zuzuordnen, wenn sie als Formulardaten gesendet wird.

Beachten Sie, dass es zwar möglich ist, den Schaltflächentext mit festzulegen innerHTMLverwenden textContext sollte bevorzugt werden, da es leistungsfähiger ist und Cross-Site-Scripting-Angriffe verhindern kann, da sein Wert nicht als HTML geparst wird.

JS:

var b = document.createElement('button');
b.setAttribute('content', 'test content');
b.setAttribute('class', 'btn');  
b.textContent="test value";

var wrapper = document.getElementById("divWrapper");
wrapper.appendChild(b);

Erzeugt dies im DOM:

<div id="divWrapper">
    <button content="test content" class="btn">test value</button>
</div>

Demo: https://jsfiddle.net/13ucp6ob/

  • Ich habe gesehen, was schief gelaufen ist. Ich versuche innerHtml als Methode, nicht als Eigenschaft. Danke für Ihre Hilfe.

    – Dinnouti

    30. April 2013 um 16:42 Uhr

  • Laut dem MDN-Websitebeim Einfügen von Klartext wird die Verwendung empfohlen TextinhaltWeil innerHTML hat ein Sicherheitsrisiko und führt eine unnötige Analyse des Inhalts in HTML durch.

    – Rosberg Linhares

    9. Dezember 2019 um 22:13 Uhr

Der Wert von a Taste element ist nicht der angezeigte Text, im Gegensatz zu dem, was mit passiert input Elemente vom Typ Schaltfläche.

Du kannst das :

 b.appendChild(document.createTextNode('test value'));

Demonstration

Erstellen Sie einen Textknoten und hängen Sie ihn an das Schaltflächenelement an:

var t = document.createTextNode("test content");
b.appendChild

Legen Sie den Text der Schaltfläche fest, indem Sie innerHTML festlegen

var b = document.createElement('button');
b.setAttribute('content', 'test content');
b.setAttribute('class', 'btn');
b.innerHTML = 'test value';

var wrapper = document.getElementById('divWrapper');
wrapper.appendChild(b);

http://jsfiddle.net/jUVpE/

1283640cookie-checkSchaltflächentext über JavaScript setzen [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy