当前位置: 首页 > 面试题库 >

无法在IE中的tbody上设置innerHTML

丁雅逸
2023-03-14
问题内容

我有一个这样的表:

<table>
<thead>
    <tr>
        <th colspan="1">a</th>
        <th colspan="3">b</th>
    </tr>
</thead>
<tbody id="replaceMe">
    <tr>
        <td>data 1</td>
        <td>data 2</td>
        <td>data 3</td>
        <td>data 4</td>
    </tr>
</tbody>
</table>

在ajax请求之后,有一个方法向我返回了以下内容:

<tr>
    <td>data 1 new</td>
    <td>data 2 new</td>
    <td>data 3 new</td>
    <td>data 4 new</td>
</tr>

我想像这样更改innerHTML

document.getElementById('replaceMe').innerHTML = data.responseText;

但是,似乎IE无法在上设置innerHTML <tbody>。谁能为我提供一个解决此问题的简单方法?


问题答案:

没错,tbody元素上的innerHTML在IE中是readOnly

对于除以下对象以外的所有对象,该属性均为可读/写状态;对于以下对象,该属性为只读:COL,COLGROUP,FRAMESET,HEAD,HTML,STYLE,TABLE,TBODY,TFOOT,THEAD,TITLE,TR。

您可以执行以下操作来解决此问题:

function setTBodyInnerHTML(tbody, html) {
  var temp = tbody.ownerDocument.createElement('div');
  temp.innerHTML = '<table>' + html + '</table>';

  tbody.parentNode.replaceChild(temp.firstChild.firstChild, tbody);
}

基本上,它将创建一个临时节点,您将在其中注入fulltable。然后,它取代了tbodytbody从注入table。如果事实证明它很慢,则可以通过缓存temp而不是每次都创建它来使其更快。



 类似资料:
  • 问题内容: 呈现HTML SELECT时,IE似乎忽略了CSS中设置的高度。是否有任何解决方法,还是我们必须接受IE不会像其他浏览器那样好? 问题答案: 除了放弃元素之外,没有其他解决方法。

  • 问题内容: 今天就遇到这个问题,以防其他人遇到同样的问题。 原来要让IE在动态生成的元素上运行onclick,我们不能使用setAttribute。相反,我们需要使用包装要运行的代码的匿名函数在对象上设置onclick属性。 错误提示: 你可以做 但根据@scunliffe,它将以非标准模式在IE中中断。 你根本做不到 因为它会立即执行,并将runCommand()的结果设置为onClick属性值

  • 输入示例:12345.1 期望输出总计金额DueTextField: 12,345.10 实际结果 系统出来println(格式化文本):12345.10//OK totalAmountDueTextField。setText(formattedText):12345.1//这就是问题所在。 以及如何将初始值设置为0.00(当前为0.0)?

  • 我必须在IE 10浏览器上运行Selenium测试。为了运行以下脚本,我执行了以下操作: > 从这里下载了IEDriverServer(64位,因为我的机器是64位) 将该(. exe)文件放在“C://驱动程序”文件夹中 设置路径'C://驱动程序'在环境变量 运行脚本 运行 aboe 脚本会导致以下错误: 同样的脚本在Chrome和Firefox浏览器上运行良好。请帮助我理解我做错了什么。

  • 我是一个新的git和GitHub用户。我已经在Windows上使用GitHub一段时间了,但想尝试更多的命令行,同时学习如何在我想要改进的存储库上分叉和提交拉取请求。 我所看到的是,“上游”似乎被定义为不可用,我想了解发生了什么。我想当我想请求将我的更改拉入上游存储库时,这将是一个问题。 我在GitHub上分叉了存储库,然后将其克隆到我的计算机上: git克隆https://github.com/

  • 设置数据类型时: 我得到以下错误:名称“complexType”不存在于名称空间“http://www.w3.org/2001/XMLSchema”中