近日,将一个 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 ,问题解决。

相关文章:

  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
  • 2021-07-15
  • 2022-12-23
  • 2021-05-28
  • 2021-08-27
猜你喜欢
  • 2021-12-11
  • 2022-02-15
  • 2021-12-01
  • 2022-01-28
  • 2022-03-03
  • 2021-11-24
相关资源
相似解决方案