2012-02-29 2 views

ответ

2

Вы можете проверить классы, которые существуют на $(this) с помощью .hasClass(className):

var item = $(this); 
if (item.hasClass('myClass')) { 
    // myClass triggered  
} 
else if (item.hasClass('myClass2')) { 
    // myClass2 triggered 
} 
+0

Это то, что я получил после благодарности :) – cgwebprojects

+0

@cgwebprojects Не может быть проблемой в зависимости от вашей ситуации, но вы можете использовать два отдельных оператора 'if' (а не' if else') для обработки дела где элемент имеет оба класса. –

1
$('.myClass, .myClass2').mouseover(function() { 
    alert(this.className) 
    $(this).fadeIn('1000'); 
}); 

..

$('.myClass, .myClass2').mouseover(function() { 
    if ($(this).hasClass("myClass")) { 
     // do stuff for .myClass 
    } 
    $(this).fadeIn('1000'); 
}); 
1

Вы могли бы использовать:

$(this).hasClass('myClass'); 

Или получить имя с помощью

$(this).attr('class'); 
1

Конечно, это будет работать:

var caller_class = $(this).attr('class'); 

или ваниль JavaScript метод this.className;

+0

Нет, не в моем случае, так как мой объект html может иметь много классных имен и не всегда в одном порядке! – cgwebprojects

+0

В этом случае вы застряли с решением 'if ($ (this) .hasClass ('myClass')). – BenM

+0

Вы это прекрасно благодарите за помощь :) – cgwebprojects

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