2013-04-30 11 views
13

JavaScriptを使用してボタンを設定していますが、ボタンにはテキストが表示されません。JavaScriptを使用してボタンのテキストを設定する

どのように修正することをお勧めしますか?

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

ありがとうございます!

答えて

21

は、ので、代わりに価値のinnerHTMLプロパティを使用します追加している 'ボタン'タイプは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); 

はDOMに次のようになります。デモ

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

http://jsfiddle.net/CuXHm/

+0

私がいないプロパティとして、方法として、innerHTMLプロパティを試してみてください。ご協力いただきありがとうございます。 – dinnouti

5

button要素の値は表示されたテキストではなく、inputボタンの要素とは異なります。

あなたはこれを行うことができます。

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

Demonstration

3

テキストノードを作成して、ボタン要素にそれを追加します。基本的には

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

は、innerHTMLプロパティを設定することで、ボタンのテキストを設定します。

01私は何が悪かったのかを見
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/

関連する問題