【发布时间】:2025-12-13 18:20:07
【问题描述】:
我真的对最简单的事情感到困惑。谁能帮我解决这个问题?
我有以下代码:
$('#nav a').click(function(){
var $href = $(this).attr('href');
if(!$($href).hasClass('top')){
console.log("'#" + $href + "'");
}
});
每次我“点击”“#nav”中的链接时,它都会记录这一点:
未捕获的错误:语法错误,无法识别的表达式
有什么线索吗?
谢谢 ;)
【问题讨论】:
-
我认为问题出在
$($href) -
$href 的值是多少?在 if 语句之前记录它
-
$href 的值是一个ID,可以是#page 或任何类似的东西。我尝试在 if 语句之前记录它,它现在返回日志和错误...奇怪
-
很奇怪,可能是 Jquery 在线文件的连接错误,我现在已经测试了以下内容(实际上与这篇文章中的问题相同)并且它返回很好,没有错误:) $(' #navigation a').click(function(){ var $href = $(this).attr('href'); console.log("'"+$href+"'"); if(!$($href ).hasClass('top')){ $($href).addClass('top'); } });
-
在这种情况下,我建议不要在你的 href 变量前面加上 $。这通常是为 jQuery 对象保留的。比如,`var $div = $('#my-div')。在这种情况下,它不是一个 jQuery 对象;这是一个字符串。 (更不用说它让 $($href) 看起来很疯狂。)
标签: jquery variables syntax syntax-error quotes