2013-04-30 22 views
13

Sto configurando un pulsante tramite javascript, ma il pulsante non mostra il testo.Impostazione del testo del pulsante tramite javascript

Qualche raccomandazione su come risolverlo?

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); 

Grazie!

risposta

21

In sostanza, utilizzare innerHTML invece di valore, in quanto la Il tipo di 'pulsante' che stai aggiungendo imposta il suo valore nel suo innerHTML.

JS:

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); 

si presenta così nel DOM:

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

Demo:http://jsfiddle.net/CuXHm/

+0

ho visto quello che è andato storto cerco innerHtml come metodo, non come proprietà. Grazie per l'aiuto. – dinnouti

5

Il valore di un elemento button non è il testo visualizzato, contrariamente a quanto accade agli elementi input del pulsante di tipo.

Si può fare questo:

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

Demonstration

3

Creare un nodo di testo e aggiungerlo all'elemento tasto:

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

impostare il testo del pulsante impostando l'innerHTML

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/

Problemi correlati