jquery - 引号内的jQuery变量返回语法错误

标签 jquery variables syntax syntax-error quotes

我真的对最简单的事情感到困惑。有人可以帮我吗?

我有以下代码:

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

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

每次我在“#nav”内的链接上单击时,它都会记录以下内容:

Uncaught Error: Syntax error, unrecognized expression



有什么线索吗?

谢谢 ;)

最佳答案

这行:

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

向我建议,您的href类似于“页面”,而您现在将其前缀为“#”。如果是这样,那么前一个选择器
if(!$($href).hasClass('top'))

将无法正常工作,因为您实际上是在做
if (!$('page').hasClass('top'))

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

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

关于jquery - 引号内的jQuery变量返回语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18425080/

相关文章:

JavaScript根据选定的下拉文本字符串获取二维数组值

javascript - 避免内存泄漏/使用 Javascript

c++ - c/c++程序中的print(而不是printf())是由编译器的哪一部分检测的

javascript - 这个脚本标签语法是什么意思?

javascript - Jquery .click() 不适用于 Android

javascript - 如何使 highcharts 饼图数据标签始终位于每个切片的中心?

php - 显示前几页中声明的内存中的变量

php - 你如何在 wordpress 中使用 session 变量?

python - 是否可以 "dynamically"在 Python 中创建局部变量?

c# - 在 C# 中使用 "->"?