2009年01月27日 22:13

jQueryオブジェクト

| http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/432

jQuery1.3もリリースされたしってことで 今さらながらjQueryの勉強してるわけですが $()で取得できるjQueryオブジェクトが気になりました。

なんでかってーと「 jQuery.eq(n) 」の機能をうまく文章にできなかったからです。 どーでもいい理由ですが調べてみたらいい勉強になりました。

jQueryオブジェクトの気になるところ

気になっていたことと答えは下記ページにありました。

参照サイト

DOM では document.getElementById("id") と document.getElementsByTagName("element-name") で返ってくるオブジェクトはそれぞれノードとノードリストであり、まったく性質の異なるものです。それに対して、jQuery では jQuery("#id") と jQuery("element-name") で返ってくるのはいずれも同じ性質の jQuery オブジェクトであり、違いといえば前者の (配列としての) 要素数が最大で 1 であるのに対し、後者の要素数、すなわち length プロパティの値は 2 以上になりうることぐらいです。

$()で取得したjQueryオブジェクトは1個でも複数でも配列みたいな感じってことらしい。 getElementById()とgetElementsByTagName()のように返ってくるオブジェクトが異なると 当然メソッドも違うので何が返ってくるかを意識しないとダメですが$()ではそれがないと。

なるほどこりゃ便利だw

jQueryオブジェクトの次に気になるところ

次に疑問に思ったのがjQuery("element-name")で取得したものはjQueryオブジェクトなのかそれともDOMなのか?

サンプルコード


$("#execute").click(function(){
    alert($("li")[0]);
});
-----------------------
HTML
-----------------------
<input type="button" value="jQueryオブジェクトの中身" id="execute" />

実行結果

なるほど。DOMですね。 全てjQueryオブジェクトに変換してたら重くなりそうですもんね。 当然っちゃ当然なのかも。

jQuery.eq(n)とかは使ったときにjQueryが持ってる n番目のDOMをjQueryオブジェクトとして返すってことか。

これでjQuery.eq(n)の説明ができそう。

jQuery.eq(n)

jQueryオブジェクトが持つn番目のDOMをjQueryオブジェクトとして返す。

だいたいあってるとおもう・・・w

jQueryオブジェクトの中身

ついでなんでjQueryオブジェクトの中身を見ておこうかと思います。

サンプルコード


var a = $("li");
var t;

for (var b in a) {
    t += '<span class="bold">' + b + "</span> =" + a[b] + "<br /><br />";
}

$("#jQueryObject").html(t);
-----------------------
HTML
-----------------------
<div id="jQueryObject">
</div>

実行結果

]

jQueryオブジェクトタグ:

トラックバック

  • http://www.kantenna.com/cgi-bin/mt/mt-tb.cgi/432
[WEBプログラム覚書]2010年01月19日 12:18
[jQuery]こんな機能があったんだ。jQuery stop()
jQuery stop()のいろいろな機能を試してみたよ
コメント (0)
コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)





この情報を登録しますか?


先月アクセスが多かったページ