3

我在 jQuery 脚本中有以下 if 语句,它检查图像是否具有“忽略”类,如果是,它将忽略它。this是之前在我页面的特定部分中找到的脚本的图像:

if(!$(this).hasClass('ignore')) {
 //do something
}

如何设置它以便我可以存储一个类数组,然后让 if 语句检查该数组?

4

3 回答 3

10

Array像往常一样创建一个push你想忽略的类。

在你的if语句中做一个.not()选择器并通过Array调用join函数传入你的值。


var classes = new Array(".ignore", ".something");

// on a single img

if(!$(this).is(classes.join(",")) {
    //do something to one
}

// on a collection of imgs

$("img").not(classes.join(", "));

$("img").not(classes.join(", ")).each(function(){
    // do something to one
});

http://jsfiddle.net/hEsPd/1/

于 2012-12-04T15:29:44.397 回答
4

使用is()函数而不是hasClass(). 有关文档的更多信息:http: //api.jquery.com/is/

于 2012-12-04T15:28:23.113 回答
1
if(!$(this).is("." + yourArray.join(", ."))) {
 //do something
}

或使用香草 JS

var regex = new Regex("(" + yourArray.join("|") + ")");
if(!this.className.match(regex)) {
   //do something
}
于 2012-12-04T15:30:25.520 回答