我有一個簡單的JavaScript函數,將一行文本框分成多行。 的功能如下:設置innerHTML無法在Internet Explorer 9.0中工作
function newline(componentID)
{
var cols = document.getElementById(componentId).getElementsByTagName('td');
var colslen = cols.length;
var i = -1;
var tempInnerHTML = '<tbody><tr>';
while (++i < colslen)
{
tempInnerHTML += '<td>' + cols[i].innerHTML + '</td>'
if (i == 9 || i == 19 || i==29) { tempInnerHTML += '</tr><tr>'; }
}
tempInnerHTML += '</tr></tbody>';
document.getElementById(componentId).InnerHTML = tempInnerHTML;
}
功能工作正常,在FireFox上,但在IE 9.0 的原因是document.getElementById(componentId).InnerHTML = tempInnerHTML;
即我們不能直接設置的innerHTML在IE 9.0
所以我試圖不工作改變上述功能:
function newline(componentID)
{
var cols = document.getElementById(componentId).getElementsByTagName('td');
var colslen = cols.length;
var i = -1;
var tempInnerHTML = '<tbody><tr>';
while (++i < colslen)
{
tempInnerHTML += '<td>' + cols[i].innerHTML + '</td>'
if (i == 9 || i == 19 || i==29) { tempInnerHTML += '</tr><tr>'; }
}
tempInnerHTML += '</tr></tbody>';
var div = document.createElement("div");
div.innerHTML = tempinnerHTML;
document.getElementById(componentId).appendChild(div.firstChild.tBodies[0]);
}
然而,上述功能不上的FireFox工作,以及IE 9.0 作爲statem問題ent
document.getElementById(componentId).appendChild(div.firstChild.tBodies[0]);
我需要獲得在FireFox和IE 9.0上工作的函數。
任何幫助將不勝感激。
在此先感謝!
'componentID'是一個'table'元素的ID嗎? –
是的! componentID是表格元素的ID。 – user2760677