2013-04-30 5 views
13

Tôi đang thiết lập nút qua javascript, nhưng nút này không hiển thị văn bản.Cài đặt văn bản nút qua javascript

Bất kỳ đề xuất nào về cách khắc phục?

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

Cảm ơn!

Trả lời

21

Về cơ bản, sử dụng innerHTML thay vì giá trị, bởi vì 'nút' loại bạn đang thêm bộ nó là giá trị trong innerHTML của nó.

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

Trông như thế này trong DOM:

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

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

+0

tôi thấy những gì đã xảy ra tôi cố gắng innerHtml như một phương pháp, không phải là bất động sản. Cảm ơn bạn đã giúp đỡ. – dinnouti

5

Giá trị của thành phần button không phải là văn bản được hiển thị, ngược lại với những gì xảy ra với input yếu tố của nút loại.

Bạn có thể làm điều này:

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

Demonstration

3

Tạo một nút văn bản và thêm nó vào các yếu tố nút:

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

Đặt text của button bằng cách thiết lập 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/