.hide(),. show(),表和IE

Lea*_*nan 4 jquery internet-explorer

我有一些嵌套表,我想在点击其中一个顶级行时隐藏/显示.

简而言之,标记是这样的:

  <table>
    <tr>
      <td>stuff</td>
      .... more tds here
    </tr>
    <tr>
      <td colspan=some_number>
        <table>
        </table>
      </td>
    </tr>
  </table>

现在,我正在使用一些jQuery来定位第一个表行中的链接.单击该链接时,它会向下拉一些数据,将其格式化为一堆表行,并将其附加到表中.然后它将.show()应用于表.(这都是通过id/class target完成的.​​为简洁起见,我将它们排除在样本之外).

这在firefox中运行得很好.单击链接,数据加载,主表"扩展",辅助表都很好并填写.

问题是 - Internet Explorer正在给我指责.据我所知,数据被附加到内部表.问题是.show()似乎没有做任何有用的事情.为了让事情更烦人,我有一个页面,这个功能在两者中都非常出色 - 唯一的区别是两件事:

在正在工作的那个中,内部表被包裹在div中.我甚至试图在这个例子中将我的表包装在div中但没有成功.在没有工作的那个,我有一个额外的jQuery插件加载 - 但我删除了这个插件并尝试了没有它的页面,它仍然无法显示内部表.

我已经尝试将.show附加到父tr,父td和表本身但没有成功.我必须遗漏一些非常简单的东西,因为尽可能地说这应该有用.

以前有没有人遇到这样的事情?

Zac*_*man 6

请记住,<table>元素的innerHTML是 在IE中只读的(6肯定,不确定7).既然如此,您是否明确添加<tbody>元素?如果没有,请尝试添加一个并将行添加到body元素而不是table元素.

<table>
  <tbody>
    <!-- Add stuff here... -->
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

关于此的Microsoft信息(排序):PRB:错误在Internet Explorer中设置table.innerHTML注意:它说这是"按设计".