2009-07-27 106 views
0

我在写一个显示表格的简单网页。它是表格的右列,我想在每一行中添加一个表示'查看'的按钮。我写了一个函数,它通过创建一个按钮对象并设置value ='view'来实现这一点,但是在firefox中,并且按钮显示时没有文本。有谁知道为什么?这里是我的代码:JavaScript按钮在ie中工作,而不是Firefox或Chrome

function addRow(id, sender, message){ 
    var theTable = document.getElementById('messageTable'); 
    var lastRow = theTable.rows.length; 
    var newRow = theTable.insertRow(lastRow); 
    newRow.id = id; 

    var cellLeft = newRow.insertCell(0); 
    var textNode = document.createTextNode(id); 
    cellLeft.appendChild(textNode); 

    var secondCell = newRow.insertCell(1); 
    var textNode2 = document.createTextNode(sender); 
    secondCell.appendChild(textNode2); 

    var messageCell = newRow.insertCell(2); 
    var messageNode = document.createTextNode(message); 
    messageCell.appendChild(messageNode); 

    var viewCell = newRow.insertCell(3); 
    var viewNode = document.createElement('button'); 
    viewNode.value = 'View'; 
    viewNode.onclick = function(){ 
    alert('clicked: ' + id); 
    }; 
    viewCell.appendChild(viewNode); 
} 

回答

2

你要做viewNode.innerHTML =“查看”,因为在FF按钮显示无论是通过标签进行包装,而不是值属性

0

<button> s的不自我关闭像<input> s,并没有value属性。您已经在您的代码的其他部分有解决方案:

viewNode.appendChild(document.createTextNode('View')); 

您也不需要为仅使用一次的节点创建变量。通过使用上述风格,您可以在几个地方合并您的代码。

相关问题