【发布时间】:2015-07-14 06:55:58
【问题描述】:
我正在尝试在 IE6 Mobile 中动态创建一个表(是的,我知道,但我们正在处理摩托罗拉手持扫描仪,这就是它们所运行的),我在向 <td> 添加数据时遇到了麻烦的。我尝试了很多方法,所有方法都导致错误Object doesn't support this property or method。
我尝试过的几件事,以及引发错误的行:
...
var td = document.createElement('td');
td.innerHTML = 'test'; // error, also tried innerText
}
tr.appendChild(td);
}
tbody.appendChild(tr);
}
table.appendChild(tbody)
}
没有错误的那一行,这一切都有效。
我也试过了:
...
var td = document.createElement('td');
td.appendChild(document.createTextNode('test')); // error
}
tr.appendChild(td);
}
tbody.appendChild(tr);
}
table.appendChild(tbody)
}
还有:
...
var td = document.createElement('td');
var span = document.createElement('span');
span.innerHTML = 'test'; // also tried innerText and createTextNode
// approach like example no. 2
td.appendChild(span)
}
tr.appendChild(td);
}
tbody.appendChild(tr);
}
table.appendChild(tbody)
}
而且,可能不言而喻,但是,所有这些方法都适用于我在我的 PC 上测试过的所有浏览器,包括来自 IE 开发人员工具的 IE5 模式。
【问题讨论】:
-
如果手动构建 html 会怎样? tr.appendChild("
测试 "); -
您是否尝试过 jQuery,希望它能处理这些怪事?
-
您遇到的 JavaScript 错误是什么?您是否尝试过先附加
<td>,然后设置innerHTML? -
查理,我会试试的。还有@ShawnJacobson,我有,不幸的是,jQuery 完全不能在这些设备上运行。
-
jQuery 从来不支持 IE Mobile,这些问题实在是太糟糕了,无法解决。 IE Mobile 6.0 的标准支持介于 IE3 和 IE4 之间。大部分基本 JavaScript 和 DOM Level 0(实际上,包括
insertCell)都完全丢失了。 IIRC 我不得不在单个 div 的 innerHTML 中创建一个完整的表,因为我无法更改比这更细粒度的任何东西。 @Tom 很抱歉,您必须使用这种卑鄙的浏览器回归
标签: javascript html windows-ce internet-explorer-6