解决 jQuery 版本升级过程中出现 toLowerCase 错误 --更改 doctype

2011-12-01 15:14

 

近日,将一个 Web 软件系统中的 jQuery 从 1.3.2 升级到 1.7.1, 结果 Firefox 中正常,IE9 出现了问题

 


$(document).ready(function() {
	$("#paging_table tbody tr").mouseover(
		

结果本来正常运行的代码,出现了:

object not support "toLowerCase" property or method

在 jQuery 官网的 bug 管理系统中,查找类似问题,发现都是被不解决、强行关闭,不太明白其中的缘由,于是登记了一个新的 bug:

http://bugs.jquery.com/ticket/10891

一个老兄(sindresorhus)出面让我去这个网址测试一下:

http://jsfiddle.net/FrKyN/

测试后,发现代码居然不报错。很是不解。然后把 jsFiddle 生成的代码,与我自己的代码对比,最后发现,我的出错页面头为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

而 jsfiddle 网站上生成的每个测试页面,页面开头都是:

<!DOCTYPE html>

这才是问题根源。

看来最新版 jQuery 与 doctype Transitional 不兼容,而早期版本则是兼容的。

更改我们项目中 .jsp 文件的 doctype ,问题解决。

 

 

欢迎转载,转载请注明出处: https://www.zheguisoft.com/staff_blogs/jacklondon_chen/2011, 及 https://www.cnblogs.com/jacklondon/archive/2011/12/01/2270646.html