javascript - jQuery:无法识别的表达式

标签 javascript jquery hyperlink expression

$(document).ready(function(){

    var page = window.location.hash;
    if(page != ""){
        $('a[href='+ page +']').addclass('selected');
        pageload(page.replace('#/page/', 'pages/?load='));
    }

    $('#top a').click(function(event){  
        $('#top a').removeClass('selected');
        $(this).addClass('selected');

        pageload($(this).attr('href').replace('#/page/', 'pages/?load='));

        event.preventDefault;
    });
});

<div id="top">
    <a href="#/page/link">Link</a>
    <a href="#/page/link">Link</a>
    <a href="#/page/link">Link</a>
    <a href="#/page/link">Link</a>
    <a href="#/page/link">Link</a>
</div>

因此,当我尝试执行此操作并使用 window.location.hash 加载页面时,我在控制台中收到一条错误消息:

Uncaught Error: Syntax error, unrecognized expression: [href=#/page/link]

我怎样才能使这项工作?

最佳答案

试试这个:

$('a[href="'+ page +'"]').addClass('selected');

(您需要对 href 的值进行转义 – 这样,您将获得 a[href="#/page/link"]。)

关于javascript - jQuery:无法识别的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9180029/

相关文章:

javascript - 如何获得原始实体的 attr?

java.lang.UnsatisfiedLinkError,我无法解决它

javascript - 如何在 JavaScript 中解析 JSON 数组

javascript - 一个选择元素中的多个 ng-repeat

jquery - 如何让 jQuery 与 PhantomJS、Poltergeist 和 Capybara 一起工作

CSS Drop Down DIV 菜单...为什么我的链接会损坏它?

video - 更改在YouTube嵌入式播放器上播放的视频

javascript - MongoDB:如何使用特定规则查询$in中的特定元素?

javascript - OpenLayers WMS 图层透明度

JavaScript:函数返回一个对象