.Match()A或B或C.

时间:2013-06-23 01:18:01

标签: jquery regex

我有一个包含各种类的跨度列表。我想检查给定的span是否与另一个元素具有相同的类。

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

.match不支持以逗号分隔的列表。我当时想知道如何做到这一点。

3 个答案:

答案 0 :(得分:6)

为什么不

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

答案 1 :(得分:1)

使用管道分隔的正则表达式应该可行。

/ A | B | C /

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

以下是测试方法的文档,它将直接返回true / false。

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

答案 2 :(得分:0)

我建议您查看filter方法(http://api.jquery.com/filter/),因为您的元素可能包含多个类,在这种情况下,您发布的代码可能无法产生预期结果。您可以使用filter函数,如下所示:

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

所以你可以使用它如下:

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