解决 jQuery 版本升级过程中出现 toLowerCase 错误 --更改 doctype
近日,将一个 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)出面让我去这个网址测试一下:
测试后,发现代码居然不报错。很是不解。然后把 jsFiddle 生成的代码,与我自己的代码对比,最后发现,我的出错页面头为:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
而 jsfiddle 网站上生成的每个测试页面,页面开头都是:
<!DOCTYPE html>
这才是问题根源。
看来最新版 jQuery 与 doctype Transitional 不兼容,而早期版本则是兼容的。
更改我们项目中 .jsp 文件的 doctype ,问题解决。
转载请注明出处:
http://www.cnblogs.com/jacklondon ;
欢迎访问 http://www.zheguisoft.com/ 并提建议。