【问题标题】:jQuery - Syntax ErrorjQuery - 语法错误
【发布时间】:2010-12-22 03:17:20
【问题描述】:

我正在使用以下内容来识别站点中当前选定(活动)的链接:

 $(function(){
 var path = location.pathname.substring(1);
 if ( path )
 $('#sidebar_content a[@href$="' + path + '"]').attr('class', 'selected');
 });

似乎可以正确识别路径,但也会产生错误

错误:未捕获的异常:语法错误,无法识别的表达式:[@href$="clinics/ohs_north_carolina"]

页面来源未显示链接已添加类。

不胜感激。

谢谢。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    [@attr] 样式选择器在 jQuery 1.3 中被移除。删除@ 符号,它应该可以工作。

    $('#sidebar_content a[href$="' + path + '"]').attr('class', 'selected');
    

    来自docs

    注意:在 jQuery 1.3 [@attr] 样式中 选择器被删除(它们是 以前在 jQuery 1.2 中已弃用)。 只需从您的 选择器以使它们工作 再次。

    【讨论】:

    • 嗨艾曼,这当然解决了问题。谢谢你。一个跟进。此代码是否将 class="selected" 属性应用于锚标记?如果是这样,它不会出现在源代码中。谢谢,阿甘
    • 嗨 fmz,最好使用.addClass('selected'),因为它不会覆盖现有的类。此外,对 DOM 树的 JavaScript 更改通常在浏览器的“查看源代码”窗口中不可见。
    • 您好 Ayman,感谢您的帮助。我正在努力解决困扰我好几天的导航问题。我有一个手风琴导航需要解决。让它在一个级别上工作,因为我可以突出显示活动链接,但它目前是手动设置的。我想动态设置它,这看起来很有希望,但似乎缺少一些东西。我很乐意打开另一个线程,但我真正需要的是一个完成它的机会。你能帮忙吗?
    • 嗨 fmz,请打开一个新线程并提供详细信息。随时在此处添加链接,以便我找到它。我相信无论是我还是其他人,你都会得到帮助。 :)
    • 嗨 Ayman,这是链接:stackoverflow.com/questions/1829701/… 再次感谢。
    猜你喜欢
    • 2013-05-19
    • 2013-05-23
    • 2015-05-07
    • 2012-09-09
    • 2012-03-21
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多