<< Prev Page Next Page >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


jQuery

最近になってようやくjQueryを触ってみた。

いままでprototype.jsを使ってたけど、乗り換えたくなった。

prototype.jsはJavaScriptでrubyみたいに美しく書きたいというのが目的で、jQueryはJavaScriptでみんながやりたいことをできるだけ短く書きたいというのが目的。

あ。これだ。これ欲しかったやつだ。なんで今まで見なかったんだ自分。

特定の要素をマウスオーバーで背景色を変化させるようにしたいとき、prototype.jsだと

var target = $('target_element'); Event.observe(target, "mouseover", function(e) { target.style.backgroundColor = "#eeffcc"; }); Event.observe(target, "mouseout", function(e) { target.style.backgroundColor = "transparent"; });
だけど、jQueryだと
$('#target_element').hover(function() { $(this).background("#eeffcc"); }, function() { $(this).background("transparent"); }
となる。

さらにXPathとCSS3セレクタの組み合わせで、めちゃくちゃ細かい要素指定が一行でできる。prototype.jsでは何行かかるかわからないような指定、たとえば「id="contents"の中でhrefがhttp://www.sat.ne.jpで始まるa要素すべての文字色を変更する」は

$("#contents>a[@href^=http://www.sat.ne.jp]").color("#993344");
一発でできちゃう。素敵すぎる。

しかも圧縮版も公開されていて、そっちを使うとライブラリ自体のサイズが19KBしかないというのもすごい。(prototype.jsは70KB)

prototype.jsみたいに組み込みオブジェクトの定義を上書きしてないところもイイ。Arrayの挙動が変わると困ることもあるので。


この記事に対するコメント

てなわけで、

Ajaxをお勉強中のヲレは、JQueryもちょっとだけ使ってみました。
(前置きはモーレツに省略して、)
要するに、インラインフレームの代用ってとこです。
インラインフレームだと、ブラウザの挙動が微妙に異なるし、
(それはAjaxでも一緒だけど(笑)。)
プリントとかで困ることも多い。んでもってのJQueryってなわけ。

とまどったのが、文字エンコードでした。
つまるところ、参照されるHTMLはユニコードにしとかないとダメっスね。
<meta http-equiv="content-type" content="text/html; charset=utf-8">

なぜ、インラインフレームやらで他のHTMLを参照しなきゃいけないか?
客が「ここだけは自分で更新したい。ホームページビルダーで。」
とか言ってくること…多いんですよ(涙)。

☆ホームページビルダーも、(最近のは)utf-8対応らしい☆

【2007/03/29 13:41】URL | おおくぼ #Qi8cNrCA[ 編集]

たしかにAjaxでページ取ってくると文字コードではまるよねー。読み込む側も読まれる側もUTF-8にしとくのがとりあえず何も考えなくていいから楽かも。
もう世界中のHTMLはUTF-8になればいいんじゃないかな。

【2007/03/30 14:10】URL | とっくり #-[ 編集]

この記事に対するコメントの投稿



管理者にだけ表示を許可する

この記事に対するトラックバック

トラックバックURL
http://tockri.blog78.fc2.com/tb.php/38-de99c977
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。