jQuery hasClass Uncaught SyntaxError:意外的令牌)

时间:2017-03-31 11:32:59

标签: jquery

我在控制台日志中遇到此错误但无法确定错误。我想在按钮折叠时隐藏元素

$(".navbar-toggle").click(function() {
if(".navbar-toggle").hasClass("collapsed") 
    $(".country-flags-container").hide();
else   
    $(".country-flags-container").show();
)}

感谢您对我的学习的帮助。

4 个答案:

答案 0 :(得分:3)

试试这个:

   $(".navbar-toggle").click(function() {
    if((".navbar-toggle").hasClass("collapsed")) // missing () for if statement
        $(".country-flags-container").hide();
    else   
        $(".country-flags-container").show();
    });// this was the issue
祝你好运

答案 1 :(得分:1)

您正在使用此代码:

if(".navbar-toggle").hasClass("collapsed") 

".navbar-toggle"

不是选择器,如果你使用它:

$(".navbar-toggle")

它返回一个包含“navbar-toggle”类

的元素数组

试试这个:

$(".navbar-toggle").click(function() {
if( $(this).hasClass("collapsed") )
    $(".country-flags-container").hide();
else   
    $(".country-flags-container").show();
)}

你也必须考虑在检查后删除“折叠”类,这是一个标志;)

答案 2 :(得分:1)

因为缺少if条件的括号。您还错过了(".navbar-toggle")的{​​{1}}。这应该是$(".navbar-toggle")。请尝试以下方法:

$(".navbar-toggle").click(function() {
   if($(".navbar-toggle").hasClass("collapsed")){ 
      $(".country-flags-container").hide();
   }
   else{   
      $(".country-flags-container").show();
   }
});

您也可以使用以下内容替换$(".navbar-toggle").hasClass("collapsed")

$(this).hasClass("collapsed")

答案 3 :(得分:1)

 $(".navbar-toggle").click(function() {
   if(".navbar-toggle").hasClass("collapsed")) 
    $(".country-flags-container").hide();
  else   
    $(".country-flags-container").show();
  )}

试试这个你错过了)if if condition