Javascript 另一个孩子没有在IE工作

Javascript 另一个孩子没有在IE工作,javascript,internet-explorer,Javascript,Internet Explorer,我有一个appendChild JS函数,它在除IE之外的所有浏览器中都能很好地工作 我正在使用一个JS数组并将这些数据附加到一个表中 有代码-并且在小提琴中工作良好 我环顾了其他答案,他们的问题似乎与我的有点不同。也许我只是需要做一个身体,但我真的不知道怎么做 在Ie中重写此文件的最佳方式是什么 在fiddle中附加代码部分: var row = document.createElement('tr'); row.innerHTML = displayArrayAsTable(QR4, 24

我有一个appendChild JS函数,它在除IE之外的所有浏览器中都能很好地工作

我正在使用一个JS数组并将这些数据附加到一个表中

有代码-并且在小提琴中工作良好

我环顾了其他答案,他们的问题似乎与我的有点不同。也许我只是需要做一个身体,但我真的不知道怎么做

在Ie中重写此文件的最佳方式是什么

在fiddle中附加代码部分:

var row =  document.createElement('tr');
row.innerHTML = displayArrayAsTable(QR4, 24, 25);
document.getElementById('mytable').appendChild( row ) ; 

function displayArrayAsTable( array, from, to ) {
  var array = array || [],
  from = from || 0,
  to = to || 0;
 var html = '';

 if ( array.length < 1 )
{
  return;
}
if ( to == 0 )
{
    to = array.length - 1;
}
for ( var x = from; x < to + 1; x++ )
 {
html += '<td>' + array[x] + '</td>';
}
 return html;
}
var row=document.createElement('tr');
row.innerHTML=DisplayArrayTable(QR4,24,25);
document.getElementById('mytable').appendChild(行);
函数DisplayArrayTable(数组、从、到){
变量数组=数组| |[],
from=from | | 0,
to=to | | 0;
var html='';
if(array.length<1)
{
返回;
}
如果(to==0)
{
to=array.length-1;
}
对于(变量x=from;x
最好的方法是使用:

至于
t车身
:是的,这可能就是问题所在。浏览器始终生成
tBody
元素,无论它是否在HTML中指定。
也许您可以通过将新行添加到此
tBody
元素来解决问题:

document.getElementById('mytable').tBodies[0].appendChild( row );
但我记得读到IE在使用普通DOM操作方法操作表时遇到了问题。我不知道这是否也适用于这种情况<代码>插入行在任何情况下都应该有效

更新:事实上,IE似乎也不喜欢用
innerHTML
附加
td
元素。解决方案是将
也作为参数传递给
displayArrayTable
,并用于创建新单元格

更新2:例如,您可以这样做:

for ( var x = from; x < to + 1; x++ )
{
    var cell = row.insertCell(-1);
    cell.innerHTML = array[x];
}

你想要这个:我试过了,但我看不出它在Firefox中可以正常工作,在IE中不行?我添加了DisplayArrayTable代码。我从这里得到的。我在尝试MDN的InsettCell,因为我看到它在IE上工作。但我不能得到多个单元,也不能将其与我的阵列集成。我在这方面有点新手。有没有可能我能看到一个如何用我的代码来实现这一点的例子?我花了一段时间来研究如何应用代码,即使它是用盘子递过来的。工作是一个梦想。非常感谢。我想我慢慢地明白了…好像我有很多排变量。row1 row2 row3 row4等现在它在DisplayArrayTable函数中,我可以生成多行变量的唯一方法是使多个函数DisplayArrayTable1保持row1 DisplayArrayTable2保持row2等。有更好的方法吗?@Jon:您应该将行作为参数传递给函数。
for ( var x = from; x < to + 1; x++ )
{
    var cell = row.insertCell(-1);
    cell.innerHTML = array[x];
}
var row = document.getElementById('mytable').insertRow(-1);
displayArrayAsTable(QR4, 24, 25, row);