1

我真的对最简单的事情感到困惑。谁能帮我解决这个问题?

我有以下代码:

$('#nav a').click(function(){
    var $href = $(this).attr('href');

    if(!$($href).hasClass('top')){
          console.log("'#" + $href + "'");
    }
});

每次我“点击”“#nav”中的链接时,它都会记录下来:

未捕获的错误:语法错误,无法识别的表达式

有什么线索吗?

谢谢 ;)

4

1 回答 1

1

这一行:

console.log("'#" + $href + "'");

向我建议您的 href 类似于“page”,您现在在其前面加上“#”。如果是这样的话,那么前面的选择器

if(!$($href).hasClass('top'))

不会工作,因为你本质上是在做

if (!$('page').hasClass('top'))

并且 'page' 不是有效的选择器。您的 href 需要是“#page”。此外,如果 href 没有 #,我认为您的浏览器会将其解释为要尝试点击的实际 URL。

如果不是这种情况,多一点上下文会有所帮助。应该发生什么?你想做什么?

于 2013-08-25T02:55:11.353 回答