通过jQuery重新排列表行,在IE中提供不需要的结果

时间:2011-11-01 15:06:01

标签: javascript jquery html css

我正在尝试重新排列预先格式化的HTML表中的表行.HTML表显示在下面的小提琴中。我的总HTML是在这个小提琴中给出的。

Initial Look of the table

我正在尝试重新排列< td>包含文本“One”和“Two”的文本。我使用“rowspan”属性识别那些“一”和“两”行。如果您在非IE浏览器中看到以下小提琴,您可以清楚地了解我正在尝试做什么..

After rearranging

但问题是,此代码在IE以外的浏览器中运行良好(我在Chrome和Firefox中测试过)。我无法找到问题所在......

请帮我纠正我的代码以实现跨浏览器兼容性。

2 个答案:

答案 0 :(得分:3)

感谢您的回答,我发现了问题.IE正在将索引从1分配给元素。所以给予

 find('td.mrGridCategoryText:eq(0)')

给出了不受欢迎的结果,如果我将其更改为1,那么我在IE中获得的结果是正确的,但在其他人中却没有。请查看这个小提琴http://jsfiddle.net/J7WPb/23/
  所以

 i need to give eq(0) if other browsers and eq(1) if IE :-(

再次感谢。

答案 1 :(得分:1)

如果可以,请使用IE9(仅限Windows 7+)并按“F12”以获取控制台和调试功能。

然后你甚至可以使用javascript调试器来刷新页面并让它在javascript错误中中断

就我个人而言,我不支持IE,直到他们开始支持“互联网”,就像其他“更好的浏览器”一样

更新

我发现了一个问题!当IE8加载页面时,文件LayoutCM.js的第195行出现错误

换句话说,我认为错误不在您的代码中,因为它是一个jFiddle问题! 可以这么说,IE8不支持对其调用的对象的“getStyle”(变量“win”预期为“window”)。
这只是IE不支持“互联网”的另一个光辉的例子,正如我之前提到的那样。

希望这些信息有所帮助!