Проверка того, какой класс был выбран в jquery

#jquery #css #class

#jquery #css #класс

Вопрос:

Если у вас есть элемент с двумя примененными к нему классами, как вы можете проверить, каким был второй класс?

Например:

 class="class1 abc"
class="class1 xyz"
  

Когда нажимается class1, как вы можете проверить, каким был второй класс, чтобы вы могли перенаправить на соответствующее действие?

  $('.class1').click(function() { 
     // ** var secondClass = abc | xyz
     // ** do something if second class was abc, or something else if second class was xyz **
  

Комментарии:

1. Кому я должен дать принятый ответ? Они все одинаковые.

Ответ №1:

 $('.class1').click(function() {
    if ($(this).hasClass('abc')) {
        //...
    } else {
        //...
    }
});
  

Ответ №2:

Вы могли бы использовать hasClass() ..

 $('.class1').click(function() {
    if($this.hasClass("xyz")){
        ...
    } else {
        ...
    }
});
  

Ответ №3:

Вы можете проверить, имеет ли элемент определенный класс, вот так:

 $(this).hasClass("abc") 
  

и перенаправление на основе этого.

Ответ №4:

Используйте ключевое слово this и has class в вашем обработчике кликов.

Например:

 $('.class1').click(function() {
    // the this keyword is rewritten to the matching element by jQuery automatically
    // cache the jQuery object for this
    var $this = $(this);
    if ($this.hasClass('abc')) {
    } else if ($this.hasClass('xyz')) {
    } else {
    }
} );
  

Ответ №5:

 $('.class1').click(function(){
   if($(this).hasClass('abc'))
   {
    //do something
   }else if($(this).hasClass('xyz'))
   {
     //do something else

   }
});
  

Ответ №6:

Как насчет проверки существования класса:

 $('.class1').click(function() { 
  var hasABC = $(this).hasClass('abc');
  var hasXYZ = $(this).hasClass('xyz');
  // ... do real work now ...
}