a を使用しfilter()
てそれを行うことができます。
これは非常に冗長ですが、三項、正規表現、またはほぼすべてのものに対して href をチェックしたいものを使用できます。
$('a').filter(function() {
var ret = false;
if ( this.href.indexOf('http://') === 0 ) { // everything that starts with http://
if ( this.href.indexOf('http://google.com') === 0 ) { // starts with ...
ret = true;
}
// or if
if ( this.href.indexOf('microsoft.com') != -1 ) { // href contains microsoft.com
ret = true;
}
}
return ret;
}).attr('target','_blank');
正規表現で:
$('a').filter(function() {
var rgx = new RegExp('/^(?:http(?:s)?:\/\/)?(?:[^\.]+\.)?(microsoft\.com|google\.com|yahoo\.com)$/','gi');
return this.href.match(rgx);
}).attr('target','_blank');