函数创建通过参数

问题描述:

接收“文本”和“onclick函数”的按钮我想做我在标题中所说的。 我尝试这样做:函数创建通过参数

function createButton(func, text){ 
    var butt = document.createElement('BUTTON'); 
    var btTxt = document.createTextNode(text); 
    btTxt.style.color = '#006633'; 
    btTxt.style.fontWeight = 'bold'; 
    butt.onclick = func; 
    butt.appendChild(btTxt); 
    butt.style.margin = '5px'; 
    document.body.appendChild(butt); 
} 

这:

createButton(doSomething, click to do something); 

但它不工作:/

有人吗?

您需要设置样式的按钮,而不是TextNode对象:

function createButton(func, text) { 
 
    var butt = document.createElement('BUTTON'); 
 
    var btTxt = document.createTextNode(text); 
 
    butt.style.color = '#006633'; 
 
    butt.style.fontWeight = 'bold'; 
 
    butt.onclick = func; 
 
    butt.appendChild(btTxt); 
 
    butt.style.margin = '5px'; 
 
    document.body.appendChild(butt); 
 
} 
 

 
createButton(doSomething, 'click to do something'); 
 

 
function doSomething() { alert('Hello'); }