我真的对最简单的事情感到困惑。有人可以帮我吗?
我有以下代码:
$('#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/