2016-01-14 3 views
1

Итак, у меня есть JS, который получает класс, когда нажата кнопка:проверка JQuery, если класс существует

var rhp_class = jQuery(this).attr("class"); 

Пусть говорят одна кнопка показывает следующие классы: name address phone

Как проверить если переменная содержит класс address?

Я пытался что-то вроде этого:

if(rhp_class.hasClass("address")) {  
     alert("It does "); 
}; 

ответ

1

Вы можете изменить переменную:

var rhp_class = jQuery(this); 

Проблема заключается в том, что вы пытаетесь найти класс в строковом значении w hile .hasClass() необходимо связать с объектом jQuery. Так что в вашем случае это $(this).

+0

Да, я делал все слишком сложно. Я решил пойти с твоим советом. Благодаря! =) –

+0

@steveKim приветствуются, и такие вещи случаются, когда вы действительно заняты мышлением. Приветствия. – Jai

+1

Спасибо, и я полностью согласен! ха-ха –

1

Вы должны использовать .hasClass() над Jquery объекта элемента, а не по значению класса в виде строки:

if(jQuery(this).hasClass("address")) {  
    alert("It does "); 
}; 
+1

Как насчет проверки наличия строки в переменной? –

+0

@steveKim: вам нужно разделить (.split (/ \ s + /)) возвращать классы по пробелу, чтобы получить в нем весь массив классов, а затем использовать метод indexof для поиска в нем. однако это не является хорошим способом сравнения. –

+0

Я вижу. Таким образом, все может стать немного сложнее. Хорошо, спасибо за помощь! =) –

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