jQuery:无法识别的表达式

$(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; }); }); 

  

因此,当我尝试这样做,并使用window.location.hash加载页面时,我在控制台中收到错误消息:

未捕获错误:语法错误,无法识别的表达式:[href =#/ page / link]

我怎样才能做到这一点?

试试这个:

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

(你需要转义href的值 – 用这个,你得到a[href="#/page/link"] 。)

您的正则表达式不需要语音标记:

 replace(#/page/, ...