jQuery技术

jquery1.5 - 请规范你的代码

字号+ 作者: 来源: 2014-11-16 22:49 我要评论( )

近来发现一个jquery1.5版本的属性过滤选择器的一个bug,我觉得应该算是个bug,因为在jquery1.4版本下是没有问题,而在jquery1.5版本下就报错了:
火狐下报的错误是这样的:
错误: uncaught exception: Syntax error, unrecognized expression: [href$=css/common.css]
IE下报的错误是中文的:
Error:例外被抛出且未被接住

具体情况是这样的:
当你用下面的代码:

$("link[href$=css/common.css]");
//或者
$("link[href=css/common.css]");
//.....等等

选取link标签时,如果你使用的是jquery1.5版本,那么可能会报错的,为什么说可能报错呢,原因是这样的,如果你的页面上没有加载这样的html代码:


上面的jquery代码也是不报错的,但是一旦你加载了样式文件,那么就会报错。真是很奇怪呀!

下面有两个DEMO,大家可以看看是不是这样的:
jquery1.5版本的bug
jquery1.4版本没有bug

打开第一个DEMO,如果你使用的是IE,那么看浏览器的左下方,会有报错,如果使用的是火狐,请查看错误控制台。
代开第二个DEMO,你会发现页面弹出一个1,表明正常。

大家有什么更新的发现,可以留下评论!

哈哈~这个问题有了新的解决方案了,多谢网友keithli123@gmail.com的提醒,使用如下的写法就没有问题了: 

$("link[href$='css/common.css']");

给=号右边的字符加上引号!!! 所以请大家以后写jquery代码的时候一定要规范些。以免发生上面类似的错误。呵呵

正确的DEMO:
jquery1.5 属性选择器像这样写就没问题了

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jQuery 简介

    jQuery 简介

    2015-11-10 12:15

  • W3school jQuery 教程.chm

    W3school jQuery 教程.chm

    2015-10-31 14:07

  • jQuery 实验教程

    jQuery 实验教程

    2015-10-31 12:17

  • 基础级的 jQuery 教程实例源代码

    基础级的 jQuery 教程实例源代码

    2015-10-22 10:33

网友点评
(