あまり使いどころはなさそうだけど・・
get() で返されるのはDOM オブジェクト
jQueryオブジェクトの集合に対して、
.get()メソッド(Ajax のgetとは異なる)を実行すると、
jQuery オブジェクトではなく、
DOM オブジェクトの配列が返されます。
また、get() にインデックスを渡すか、jQueryオブジェクトの集合に[] でアクセスすれば、インデックスで指定した要素のみDOM オブジェクトとして取得することも可能です。
jQueryのアプリケーションで DOM オブジェクトのメソッドやプロパティtが使いたかったら、.get()でDOMオブジェクトに変換すればOK!
動作確認サンプル (Chrome 17 で確認しました。)
<!-- 以上省略 -->
<body>
<div>foo</div>
<div>bar</div>
<script type="text/javascript" src="./lib/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
//jQueryオブジェクトの集合を取得
var jqueryDivs = $("div");
//DOM オブジェクト の配列に変換
var elems = jqueryDivs.get();
for (var i = 0; i < elems.length; i++) {
console.log(elems[i].innerHTML); //foo, bar (innerHTMLが使える)
}
//.get()にインデックスを渡してDOM オブジェクト を取得
console.log(jqueryDivs.get(0).innerHTML); //foo
//[]でもDOM オブジェクト を取得できる
console.log(jqueryDivs[1].nodeName); //DIV
</script>
</body>
<!-- 以下省略 -->
まとめ
- .get() で返されるのは、DOM オブジェクト!!
参考文献
jQuery クックブック p59 - p62
jQueryクックブック
0 件のコメント:
コメントを投稿