jQuery在IE浏览器上出现了问题

6
我一直在做一个带有预订系统的网站,我使用苹果电脑,通常使用Safari或Firefox浏览器...一切都进展顺利,直到我决定在IE中检查它。
页面完全乱了,我不知道从哪里开始: http://offline.raileisure.com/ 在多个浏览器上填写右侧的预订系统,看看有什么区别... IE根本不喜欢它。
谢谢!

他指的是左侧表单上的jQueryUI日期小部件。 - Greg Guida
不,我的意思是当您填写表格并单击“获取价格”时弹出的窗口。 - Lee
2
如果他指的是左侧,那么为什么在问题中写了“右侧”?日期选择器(在右侧)在IE7中运行良好。 - Pointy
1
使用IE9,整个框在怪异模式下显示,但在IE7模式下根本不显示。而且在IE9中也有问题。仅仅看HTML,我认为你大部分的问题都是由于一些糟糕的HTML格式引起的,比如将一个span作为所有div的容器... - ShaneBlake
为什么关闭这个问题?现在已经知道了答案(因为没有文档类型而导致怪癖模式),应该编辑这个问题,但我不认为它应该被关闭。 - John Saunders
2个回答

5

您的页面在IE中运行在怪异模式下。

为了避免怪异模式,您必须向文档添加一个文档类型。我建议使用HTML5文档类型。将以下内容添加到您的代码顶部,在<html>标签之前:

<!DOCTYPE html>

问题已解决。

怪异模式是IE为了向后兼容IE5.5而支持的一种过时的渲染模式。现在任何页面都不需要支持它,因此建议所有网站都使用有效的doctype。

您可以使用此页面上列出的任何doctype(虽然如果您的网站不是xhtml,我建议避免使用xhtml strict和transitional doctype)。


2

您的页面正在强制IE进入怪异模式,这会破坏布局/弹出窗口。

使用IE9,我从开发人员工具菜单(F12)将页面放入IE8标准模式,它看起来和您期望的一样。

因此,您需要找到一种方法来避免HTML触发Quirks Mode-您应该查看http://www.quirksmode.org/css/quirksmode.html以了解如何解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接