2015-03-11 4 views
-1

У меня есть следующий блок кода, который прекрасно работает:JQuery Multiple Если заявления

jQuery(".archive-job_listing-layout").click(function(evt) { 
     evt.preventDefault(); 
     if (!jQuery("body").hasClass('post-type-archive-job_listing')) 
      return; 
     console.log("Click " + jQuery(this).data('style')); 
     console.log(jQuery(window).width()); 
     if (jQuery(this).data('style') == "grid" && jQuery(window).width() < 800) { 
      jQuery("ul.job_listings").css('display','block'); 
      jQuery("table#wswp-header-row").hide().remove(); 
      jQuery(".table_padding").hide().remove(); 
      return; 
     } 

     layout_to_table("click"); 
    }) 
}); 

я хочу сделать, это добавить еще одну строку, которая нравится:

if (!jQuery("body").hasClass('archive tax-job_listing_type')) 
return; 

но добавив это ломает код. Я пробовал использовать If Else, Or (||) And (& &), но ничего не работает. Если я заменяю 'post-type-archive-job_listing' на 'archive tax-job_listing_type', код также отлично работает, я просто не могу заставить обе эти строки кода работать одновременно.

+2

Пожалуйста, создайте jsFiddle, я не могу воссоздать ошибку. Кроме того, когда вы говорите, что это «ломает код», что происходит? Вы получаете ошибку javascript или неожиданное поведение? – mambrow

+2

@ cport1: Здесь не нужно. – Adrift

+0

'archive tax-job_listing_type' не является классом. Вероятно, эта строка всегда будет оцениваться как «истина». – JLRishe

ответ

3

Это должно работать:

if(!jQuery("body").hasClass('archive tax-job_listing_type') && !jQuery("body").hasClass('post-type-archive-job_listing')) 
    return; 
+0

Это сработало отлично. Благодаря! – user3348406

1

Возможно разделение с еще несколько скобкой будет работать для вас:

if (!(jQuery("body").hasClass('post-type-archive-job_listing')) || !(jQuery("body").hasClass('archive tax-job_listing_type'))) 
     return; 
1

Можно использовать is(), который принимает несколько селекторов. Будет ли действовать как or, когда более чем один селектор ей передается

if(!jQuery("body").is('.archive tax-job_listing_type, .post-type-archive-job_listing')) 

DEMO

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