2012-08-14 151 views
0

我有行,爲此我需要動態地附加控件。它 代碼如下與Internet Explorer的Javascript問題

<script type="text/javascript"> 
function AddRowContent() 
{ 
    //Here trRow is a id of row for which I need to append the data. 
    var d=document.getElementById("trRow"); 
    d.innerHTML="<td>Aliases</td>";  
} 
</script> 

代碼是工作的罰款與其他瀏覽器, 但它不是與Internet Explorer正常工作。 請讓我知道解決方案或更好的方式來做到這一點。

+0

問更多的問題,並希望人們之前幫助你 - 請回顧你以前的,也許接受一些答案? – Marcus 2012-08-14 07:10:01

回答

2

在IE中,tr元素上的innerHTML是隻讀的。

解決方案:

var d=document.getElementById("trRow"); 
var td = document.createElement('td'); 
td.innerHTML = "Aliases"; 
d.appendChild(td); 
1

是,innerHTML屬性是隻讀在IE <tr>元件,如MSDN描述:

文字屬性是隻讀的col,colGroup,frameSet,html,head,style,table,tBody,tFoot,tHead,title和tr對象。

您可以使用document.title屬性更改標題元素的值。

要更改表格的內容,tFoot,tHead和tr元素,請使用Building Tables Dynamically中描述的表格對象模型。但是,要更改特定單元格的內容,可以使用innerHTML。

所以操縱你的表,嘗試讀取Building Tables Dynamically並找到解決方案,爲您簡單的情況下,使用DOM API可能是一個兼容的解決方案:

var td = document.createElement('td'); 
td.innerHTML = 'Aliases'; 
// Remove all existing <td> element 
while (d.firstChild) { 
    d.removeChild(d.firstChild); 
} 
d.appendChild(td); 
0
var firstRow=document.getElementById("myTable").rows[0]; 
var x=firstRow.insertCell(-1); 
x.innerHTML="New cell"