じぶんの個人サイトで、外部リンクを別ウィンドウで開くのをjQueryでやりたいなーと思って、ちょっとぐぐった&エラーとか出たので自分用メモ。

ぐぐって、なんとなくこの辺(↓)を参照させていただくことに。

さて、残念ながらアタシにはどっちがイイとかよくわからないので、、、ひとまず前者のソースをお借りしてやってみます。
いつだかにダウンロードしてたjquery.js(v1.3.2)を設置し、
新規JSファイルに、上のエントリーのソース(これ↓)をコピペ、

$(document).ready( function () {
$(‘a[@href^="http"]‘).not(‘[@href*="www.sample.com"]‘).click(function(){
window.open(this.href, ”);
return false;});
});

「www.sample.com」をアタシの場合は「mayoneco.com」に変更し、保存。
HTML側に上記2つのJSファイルへのリンクつけまして、これでOK!
…のは・ず・が、、、
構文エラーだよ!とFirebugで下記のようなエラーが出てしまいました。

[Exception... "'Syntax error, unrecognized expression: [@href^=http://]‘ when calling method: [nsIDOMEventListener::handleEvent]” nsresult: “0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)” location: “” data: no]

はいはい、何言ってるんでしょうかね?ふふふ…と、英語のエラーが出るとひとまず目を逸らしたくなるアタシですがw、調べたら、このへんが怪しそう!

よくよく見てみると、、

The @ syntax is no longer supported in JQuery 1.3+.
So the simple fix is to just remove the @ and it’ll work

jQuery 1.3以降のバージョンでは@をつかう構文がサポート外ってコトみたいですな。
今回アタシが設置していたのはバージョン1.3.2。つまりサポート外。
“@”を消せばOK!って書いてあるので、よくわからないまま消したら本当にOKでしたw

JSの知識をきちんと入れてないまま使ってる上に、バージョンによる構文の違いなんてほとんど意識外なもので;、いい勉強になりましたぁぁ。
でもって、すぐ忘れるので今回は忘れないうちにメモメモ。