jquery - IE9 表具有随机行,这些行在随机列上偏移

标签 jquery html-table internet-explorer-9

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

该网站是用 ASP.NET MVC3 构建的。通过 Ajax 请求返回的表返回 Razor 部分 View 。不幸的是,这必须在 IE 中工作。我真的希望有人能对此做出解释。

这是一个例子: Notice the offset on the second column 还有另一个: Notice the offset on the second to last column

编辑[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. 尝试删除表格单元格之间的所有空白。例如。 “”,而不是让下一个单元格另起一行。 (这在过去给我带来了奇怪的间距问题)

最佳答案

问题似乎出在白色间距上。

我在 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, '><');

关于jquery - IE9 表具有随机行,这些行在随机列上偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7267014/

相关文章:

javascript - jQuery:如何将一个函数应用于所有元素,包括一些稍后通过 Ajax 加载的元素?

javascript - 从另一个站点获取 JSON 并转换为数组或 csv

javascript - 为什么我不能用 JavaScript 函数覆盖这个 CSS?

html - 使 <div> 填充其父 <td> 高度,而不在 <td> 上指定高度

html - 响应式表格 - 如何使表格中的 <td> 下拉而不是横向

javascript - 是否可以仅使用 jqGrid 对来自服务器的数据进行编码?

php - 使用 PHP while 循环创建 HTML 表以显示数据并允许用户提交到特定行

css - 自动检查 IExplorer CSS3 兼容性

javascript - "Security Risk"Yammer 嵌入源在 IE9 中的错误消息

css - IE9字母间距问题