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 に答える