我正在编写一个显示表格的简单网页。它是表格的右栏,我想在每行中添加一个“查看”按钮。我写了一个函数,即通过创建一个按钮对象并设置value ='view',但在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);
}
答案 0 :(得分:2)
你必须做viewNode.innerHTML ='查看',因为在FF按钮中显示标签包装但不包含值属性
答案 1 :(得分:0)
<button>
不像<input>
那样自动关闭,并且没有value
属性。您已经在代码的其他部分中使用了解决方案:
viewNode.appendChild(document.createTextNode('View'));
您也不需要为仅使用一次的节点创建变量。您可以使用上述样式在几个地方合并代码。