の配列で一致するかどうかを確認しようとしています。PURE JAVASCRIPT。私はこれをする方法を知らない、あなたの助けに感謝します。配列内の値を確認する
var sites = new Array ("site1.com", "site2.com", "site3.com" ...);
// Sites array contains 100 values
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
img = imgs[i].src;
// I'm trying to check if is in array,
// and don't waste a lot of size in code
if(img.match(sites)){
notHere(imgs[i]);
}
// This is the working way.
// Even if location is a.site1.com/b/, it will match
if (img.match("site1.com")) {
heReload(imgs[i]);
}
// Repeat this piece of code 100 times
}
}
注:私は正確な値をチェックする必要はありません。 match()
関数をシミュレートしたいので、img = "http://a.b.c/d/"で、配列内で "b.c /"の場合function()
を実行します。
おかげで、これは働いた:D – Luis
は**特殊な正規表現文字をエスケープすることを忘れないでください*! *ドットだけが特殊文字ではありません。 .replace(/ [[^ $。| * *((){} \\]/g、 '\\ $ &');' –