2013-04-30 15 views
13

Ustawiam przycisk za pomocą javascript, ale przycisk nie wyświetla tekstu.Ustawianie tekstu przycisku za pomocą javascript

Jakieś zalecenie, jak to naprawić?

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

Dzięki!

Odpowiedz

21

Zasadniczo wykorzystać innerHTML zamiast wartości, ponieważ "button" typu, do którego dodajesz zestawy, jest wartością w 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); 

Wygląda to w DOM:

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

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

+0

Widziałem, co poszło nie tak staram InnerHTML jako metody, a nie nieruchomości. Dzięki za pomoc. – dinnouti

5

Wartość elementu button nie jest wyświetlanym tekstem, w przeciwieństwie do tego, co dzieje się z input elementami przycisku typu.

Można to zrobić:

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

Demonstration

3

Utwórz węzeł tekstowy i dołączyć go do elementu przycisku:

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

ustawić tekst przycisku ustawiając 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/

Powiązane problemy