IE9表具有在随机列上偏移的随机行

Kru*_*elz 24 jquery html-table internet-explorer-9

我有一个类别页面,当用户单击一个时,该类别下的项目通过jQuery Ajax调用在表格中加载,并粘贴到该类别下方的元素中.但是,似乎发生的情况是,加载表中的一行或两行将在随机列中具有其数据偏移量.我已经在IE9,FF 3.6和Chrome 13中对此进行了测试.这种情况似乎只发生在IE9中.表格数据格式完美 - 我使用Fiddler拦截请求,然后查看原始html,并没有任何问题.

该站点是在ASP.NET MVC3中构建的.通过Ajax请求返回的表返回Razor局部视图.不幸的是,这必须在IE中工作.我真的希望有人对此有解释.

这是一个例子: 注意第二列的偏移量 而另一个: 注意倒数第二列的偏移量

编辑[2012/03/25]:这个应用程序已离开我的手,所以我无法验证哪些答案有效.Adam Youngers发布到http://social.msdn.microsoft.com/Forums/pl/iewebdevelopment/thread/e6f49d52-ec3f-47c5-802e-b80d1a58ed39的链接似乎有一些可能的解决方案.根据过去的经验,我会首先尝试这些选项..

  1. 将<meta http-equiv ="X-UA-Compatible"content ="IE = 8"/>添加到页面的head元素.
  2. 尝试删除表格单元格之间的任何空白区域.例如."</ td> <td>",而不是让新行开始下一个单元格.(这在过去给我造成了奇怪的间距问题)

Joh*_*dom 24

问题似乎是白色间距.

我在http://social.msdn.microsoft.com/Forums/en-AU/iewebdevelopment/thread/28d78780-c95c-4c35-9695-237ebb912d90找到了这个答案

使用像这样的正则表达式替换从AJAX调用中获得的html.

var expr = new RegExp('>[ \t\r\n\v\f]*<', 'g');
tableHtml = tableHtml.replace(expr, '><');
Run Code Online (Sandbox Code Playgroud)

  • 如果其他人不清楚如何获取和更新上面的tableHtml变量,这里有适合我的代码:var expr = new RegExp('> [\ t\r \n \n\v\f]*<' , 'G'); var replacement = $('.cal-table').html().replace(expr,'> <'); $( 'CAL-表')HTML(更换).$('.cal-table').tableScroll({height:540,width:tableWidth}); (3认同)