引号内的Jquery变量返回语法错误

时间:2013-08-25 02:25:17

标签: jquery variables syntax syntax-error quotes

我真的很困惑最简单的事情。有人可以帮我这个吗?

我有以下代码:

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

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

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

  

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

任何线索?

谢谢;)

1 个答案:

答案 0 :(得分:1)

这一行:

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

告诉我你的href类似于'page',你现在用'#'作为前缀。如果是这种情况,那么前一个选择器

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

将无效,因为您实际上正在执行

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

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

如果不是这种情况,那么更多的背景会有所帮助。应该发生什么?你想做什么?