2009-07-27 86 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')); 

您也不需要爲僅使用一次的節點創建變量。通過使用上述風格,您可以在幾個地方合併您的代碼。

相關問題