私は学習jQueryの1.3(ジョナサン・チェーファーとカールSwedberg)を読んでいたし、テーブルを並べ替えながら、彼らは.sort()
を呼び出す前に.get()
を使用して、我々はDOMノードの配列にjQueryのオブジェクトを変換する必要がjqueryオブジェクトから呼び出すことができないJavascriptメソッド?
を言いました。 jQueryオブジェクトは多くの点で配列のように動作しますが、.sort()などの使用可能なネイティブ配列メソッドはありません。
コード:
$("#sort").click(function() {
var posts = $("#posts_div .post");
posts.sort(function(a, b) {
return ($(a).text()) > ($(b).text());
});
$.each(posts, function(index, post) { $("#posts_div").append(post); });
});
は、だから私は.get()
を使用せずにそれを実行しようとしましたが、それは、最新のjQueryを使っても、.get()
ずに働いた驚きが、そう作られた1.3
では動作しませんでしたいくつかの謎を解き放つことができます。
**Not working without .get()
jquery 1.2.6 **
.get()
jquery 1.2.6
Working without .get()
jquery 1.7.2
Working with .get()
jquery 1.7.2
だから、明らかに以前のjQueryオブジェクトは、JavaScriptの配列と同じ.sort()
の機能を持つように使用されていないのですか?しかし今では...
私の質問は、jQueryオブジェクトがまだサポートしていない機能なので、使用する前にJavascript配列に変換することを覚えておくことができますか?
はまた、もう一つの理由は、私はjQueryのを使用しないでください。 –
最後の点に対処する:いいえ、jQueryオブジェクトではありません。全体的なことは、DOM要素を含むjQueryオブジェクトです。したがって、 'a'と' b'(オブジェクト内の個々の要素)はDOM要素です。 –
ライブラリの文書化されていない機能に頼るべきではありません。この具体的なケースでは、配列操作を実行する前に真のDOM要素の配列を取得してください。 –