2015-11-17 2 views
-6

Я получаю «Uncaught SyntaxError: Неожиданный токен else« ... я знаю, что означает ошибка, но я не уверен, как исправить это для работы с оператором. Я попытался удалить заявление else и запустить заявление If сам по себе, но не повезло. Какие-либо предложения?Неожиданный токен else: rewrite

jQuery('.navigation_secondary-item').click(function (e) { 
    if (jQuery('.box-search').hasClass('active')) { 
     jQuery('.box-search').siblings().removeClass('active'); 
     jQuery('.box-search').removeClass('active'); 
    } else { 
     jQuery('.box-search').siblings().removeClass('active'); 
     jQuery('.box-search').toggleClass('active'); 
    } else { 
     // error here 
     if (jQuery('.box-social').hasClass('active')) { 
      jQuery('.box-social').siblings().removeClass('active'); 
      jQuery('.box-social').removeClass('active'); 
     } else { 
      jQuery('.box-social').siblings().removeClass('active'); 
      jQuery('.box-social').toggleClass('active'); 
     } 
    } 
}); 
+6

использовать 'else if' вместо нескольких' else'. Вы не можете иметь несколько ключевых слов 'else' в одном выражении' if'. – mic4ael

+0

Первый 'else' должен измениться на' else if' – Alex

+0

Я думаю, что только 'jQuery ('. Navigation_secondary-item'). Click (function() { $ ('. Box-search, .box-social'). toggleClass ('active'). siblings(). removeClass ('active'); }); 'должен работать. – Tushar

ответ

0

You can't have more than one else for an if condition.

Это должно работать нормально для вас.

jQuery('.navigation_secondary-item').click(function(e){ 
      if(jQuery('.box-search').hasClass('active')){ 
        jQuery('.box-search').siblings().removeClass('active'); 
        jQuery('.box-search').removeClass('active'); 
       } else { 
        jQuery('.box-search').siblings().removeClass('active'); 
        jQuery('.box-search').toggleClass('active'); 
       } 
    // should work fine now 
      if(jQuery('.box-social').hasClass('active')){ 
        jQuery('.box-social').siblings().removeClass('active'); 
        jQuery('.box-social').removeClass('active'); 
       } else { 
        jQuery('.box-social').siblings().removeClass('active'); 
        jQuery('.box-social').toggleClass('active'); 
       } 

      }); 
0

У вас есть 2 else s сходит один if:

if (condition) { 
    ... 
} else { 
    ... 
} else { 
    ... 
} 

Объединить содержимое else заявлений или пересмотреть свою логику.

Смежные вопросы