Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
引号内的Jquery变量返回语法错误_Jquery_Variables_Syntax_Syntax Error_Quotes - Fatal编程技术网

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

引号内的Jquery变量返回语法错误,jquery,variables,syntax,syntax-error,quotes,Jquery,Variables,Syntax,Syntax Error,Quotes,我真的对最简单的事情感到困惑。有人能帮我做这个吗 我有以下代码: $('#nav a').click(function(){ var $href = $(this).attr('href'); if(!$($href).hasClass('top')){ console.log("'#" + $href + "'"); } }); 每次我“点击”在“#nav”中的链接时,它都会记录这些信息: 未捕获错误:语法错误,无法识别的表达式 有什么线索吗 谢

我真的对最简单的事情感到困惑。有人能帮我做这个吗

我有以下代码:

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

    if(!$($href).hasClass('top')){
          console.log("'#" + $href + "'");
    }
});
每次我“点击”在“#nav”中的链接时,它都会记录这些信息:

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

有什么线索吗

谢谢;)

这一行:

console.log("'#" + $href + "'");
向我建议您的href类似于“page”,您现在在其前面加上“#”。如果是这种情况,那么前面的选择器

if(!$($href).hasClass('top'))
不起作用,因为你实际上是在做

if (!$('page').hasClass('top'))
“页面”不是有效的选择器。您的href必须是“#page”。此外,如果href没有#,我认为您的浏览器会将其解释为一个实际的URL来尝试点击

如果不是这样的话,多了解一些情况会有所帮助。会发生什么?你想做什么?

这行:

console.log("'#" + $href + "'");
向我建议您的href类似于“page”,您现在在其前面加上“#”。如果是这种情况,那么前面的选择器

if(!$($href).hasClass('top'))
不起作用,因为你实际上是在做

if (!$('page').hasClass('top'))
“页面”不是有效的选择器。您的href必须是“#page”。此外,如果href没有#,我认为您的浏览器会将其解释为一个实际的URL来尝试点击


如果不是这样的话,多了解一些情况会有所帮助。会发生什么?你想做什么?

我想问题是这个
$($href)
如果$href的值是多少?将其记录在if语句之前$href的值是一个ID,可以是#page或任何类似的内容。我尝试在if语句之前记录它,现在它返回日志和错误。。。奇怪非常奇怪,可能是Jquery在线文件的连接错误,我现在已经测试了以下内容(实际上与本文中讨论的内容相同),并且它返回的结果很好,没有错误:)$(“#导航a”)。单击(function(){var$href=$(this.attr('href');console.log(“+$href+”);if(!$($href).hasClass('top'){$($href.addClass('top');});在这种情况下,我建议不要在href变量前面加$。这通常是为jQuery对象保留的。比如,`var$div=$('#my div')。在本例中,它不是jQuery对象;这是一根绳子。(更不用说它让$($href)看起来很疯狂了。)我认为问题在于,
$($href)
如果$href的值是多少?将其记录在if语句之前$href的值是一个ID,可以是#page或任何类似的内容。我尝试在if语句之前记录它,现在它返回日志和错误。。。奇怪非常奇怪,可能是Jquery在线文件的连接错误,我现在已经测试了以下内容(实际上与本文中讨论的内容相同),并且它返回的结果很好,没有错误:)$(“#导航a”)。单击(function(){var$href=$(this.attr('href');console.log(“+$href+”);if(!$($href).hasClass('top'){$($href.addClass('top');});在这种情况下,我建议不要在href变量前面加$。这通常是为jQuery对象保留的。比如,`var$div=$('#my div')。在本例中,它不是jQuery对象;这是一根绳子。(更不用说它让$($href)看起来很疯狂。)