2013-06-23 3 views
0

У меня есть список пролетов с различными классами. Я хочу проверить, имеет ли данный диапазон тот же класс, что и другой элемент..Match() A или B или C

if ($(this).attr('class') === getClass.match('Rock, Paper, Scissors')) { 
    //do stuff 
} 

.match не работает с разделенным запятой. Мне было интересно, как я это сделаю.

ответ

1

Использование регулярного выражения, связанного с трубой, должно работать.

/A | B | C/

http://www.w3schools.com/jsref/jsref_regexp_test.asp

Вот документация по методу тестирования, который будет возвращать истина/ложь непосредственно.

var str="Hello world!"; 
//look for "Hello" or "world" 
var patt=/Hello|world/g; 
var result=patt.test(str); 
6

Почему просто не

$(this).is('.Rock, .Paper, .Scissors') 
+0

Он должен вернуть имя класса. –

0

Я предлагаю смотреть на filter метод (http://api.jquery.com/filter/), потому что ваш элемент может иметь более одного занятия, в этом случае код вы опубликовали, возможно, не дали ожидаемых результатов , Вы можете использовать функцию filter следующим образом:

$(this).filter('.Rock, .Paper, .Scissors') 

Таким образом, вы могли бы использовать его как следует:

$.each($(element).filter('.Rock, .Paper, .Scissors'), function(index, value) { 
    // do stuff 
});