jquery1.5的一个bug?

近来发现一个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']");

给=号右边的字符加上引号!!!

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

原创文章,转载请注明: 转载自梦三秋

本文链接地址: jquery1.5的一个bug?

文章的脚注信息由WordPress的wp-posturl插件自动生成

关于梦三秋

有过辛酸有过泪,有过挫折有过失败,但是我从未放弃过,因为我叫甘强。所以我必须得强~
此条目发表在jQuery学习, 技术杂谈分类目录,贴了, , 标签。将固定链接加入收藏夹。

jquery1.5的一个bug?》有 14 条评论

  1. 有点蓝说:

    1.4的弹出个“1”的对话框,1.5的没反应啊

  2. 这也算是BUG啊,太佩服你了

  3. ty说:

    $(“link[href$=’css/common.css’]”)
    可行??

    • 梦三秋说:

      呵呵~~哥们正解!!哎呀~我考虑了好久,怎么就没考虑到这样试试呢~
      估计应该是1.5版本对属性过滤选择器的写法更加严格了吧~~
      呵呵~~多谢你的提醒~这个问题算是解决了!!

  4. 混乱博客说:

    应该算是改进吧???哈哈

  5. p.jiaxu说:

    最近在整理一些手册也遇到这样的问题。

  6. Eastair说:

    如果是变量报出来的咋办?我传进去的是变量,难道也要加引号?

  7. rambo说:

    弱弱的问一句 难道不应该

    $(“link[href$=’css/common.css’]”);

    从来没有

    $(“link[href$=css/common.css]”); 因为后面路径好歹也是一个字符串吧 自我认为

发表评论

电子邮件地址不会被公开。 必填项已用*标注