1

我想根据窗口大小设置 DIV 的高度,但在 IE10 中$(window).height()返回0,它在 IE8 和 IE9 中工作正常。为什么?

我也写了 doctype 声明如下

<!--[if IE]>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`
<![endif]-->

如果我删除“ <!--[if IE]>”和“ <![endif]-->”,那么它工作正常。为什么?请解释。

4

2 回答 2

1

正如 Irvin Dominin 所说,jQuery 的 $(window).height() 对 doctype 很敏感。由于不支持 Internet Explorer 10 条件注释,并且当浏览器不是 IE 时您没有文档类型 - jQuery 的 $(window).height() 中断。

于 2013-04-19T12:51:35.913 回答
1

如果你删除它"<!--[if IE]>" and "<![endif]-->",因为你提到的 if/else for IE 然后其他浏览器无法检测到优雅需要的 DOCTYPE,因为它不起作用,因为$(window).height()它不起作用。如果没有定义文档类型。所以请为所有浏览器添加 DOCTYPE,问题可以解决

于 2013-04-22T03:55:51.247 回答