【发布时间】:2012-09-07 02:28:12
【问题描述】:
这是一个奇怪的问题 - 在下面的 jsFiddle 中,当使用 IE7 或 IE8 时,jQuery 返回 0px 作为单元格的填充,这是正确的:
但是,当我在 IE7 或 IE8(下面的代码)中的简单 HTML 页面中进行本地测试时,jQuery 告诉我填充是 1px。谁能明白为什么会这样?代码与 jsFiddle 中的相同,除非我遗漏了什么?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="jquery-1.8.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
alert($("td").css("padding-left"));
});
</script>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" width="400">
<tr><td>some text</td></tr>
</table>
</body>
</html>
【问题讨论】:
-
您的真实页面中真的有一个表格单元格吗?
-
有趣的是,只有当浏览器和页面处于 IE 8 模式时 - 更改 either(在 IE 8 中)会导致本地页面正确警告 0px。
-
也许你的 IIS 正在添加一个像
X-UA-Compatible=EmulateIE7这样的标题 -
这发生在两台不同的机器上,一台装有 IE7,另一台装有 IE8。它们的行为相同 - 都使用 jsFiddle 显示 0px 并在本地页面上显示 1px(不使用 IIS 只是将我的测试 html 文件拖到浏览器中 - 但它也发生在我的 IIS 项目中)。 meder:这是一个演示问题的简化页面。 :)
-
@SeanVieira,我该如何更改模式?你能告诉我使它正常运行的代码吗?但是 IE7(如果也有 IE6,也可能是 IE6)呢?我仍然很困惑为什么它可以在 jsFiddle 中工作但不是在这里。
标签: jquery internet-explorer cellpadding