设置要忽略的类数组的最佳方法

时间:2012-12-04 15:26:34

标签: javascript jquery

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

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

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

3 个答案:

答案 0 :(得分:10)

像往常一样创建Arraypush创建要忽略的课程。

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/

答案 1 :(得分:4)

使用is()功能代替hasClass()。有关文档的更多信息:http://api.jquery.com/is/

答案 2 :(得分:1)

if(!$(this).is("." + yourArray.join(", ."))) {
 //do something
}

或使用Vanilla JS

var regex = new Regex("(" + yourArray.join("|") + ")");
if(!this.className.match(regex)) {
   //do something
}