2011-09-22 18 views
15

jQuery .find()メソッドは何を返しますか? オブジェクトまたはオブジェクトの配列リスト?それがすべてマッチした要素が含まれているオブジェクトを返す場合jQuery .find()関数の結果を配列に変換する方法は?

。どのようにこのオブジェクトを配列に変換するのですか?

$(xml).find("DATE").sort(mySortFunc);が機能しない要素の配列を返すと、jquery .find()が、配列に適用されるjavascriptのsort()メソッドを適用できないオブジェクトを返すようです。

は一般的に、私は$(xml).find("DATE")で見つけるのオブジェクトをソートする必要があるが、私はソート機能を使用する場合、そのオブジェクトを解決できないというエラーを発生させます。 jQueryの方法の大部分は、それが配列のようにアクセスすることができるjQueryオブジェクトは、(例えば、それは.length属性を有する返し

+0

http://api.jquery.com/jQuery.makeArray/が必要なものを取得する必要がありますか? – markus

答えて

22

、要素は、角括弧表記([0])を使用してアクセスすることができ、それは、いくつかのをサポートアレイ方法(slice()))。

jQueryのは、実際の配列にjQueryオブジェクトを変換するために使用することができるtoArray()と呼ばれるメソッドを有します。

また、同じ効果を達成するために、引数なしでget()を使う(とあなたにいくつかのキーの押下を保存)することができます。

将来的には、あなたがjQuery APIをチェックアウトすることができ、すべてのjQueryのメソッドの戻り値の型は、関連するドキュメントに記載されていますが、上.get()を呼び出す場合

4

find()用など、戻り値の型は「jQueryの」です)パラメータを持たないjQueryオブジェクトでは、DOM要素の規則的な配列が返されます。

1

jQueryのは、すでに配列のように機能し、したがって、あなたはそれに機能のような配列を適用することができます。

Array.prototype.sort.apply($(xml).find("DATE"), mySortFunc); 

$(xml).find("DATE").sort(mySortFunc); 

を変更しようと、あなたは

関連する問題