2012-02-14 9 views
0

私が使用して、要素のリストのソートやってる:JQueryオブジェクトを横断しますか?

jQuery.fn.sort = function() { 
    return this.pushStack([].sort.apply(this, arguments), []); 
}; 


$("ol li").sort("sortFunction").appendTo("ol"); 

を問題はsortFunctionです。

function sortFunction($a, $b) { 
    ... 
} 

は基本的に、私が欲しいのはjQueryのオブジェクトとして$ aと$ bの両方を扱うことですので、私はそれらを操作することができます。

例えば、$ aと$ bは、ネイティブのJavaScriptオブジェクトであるため、sortFunction内

$a.find("div#3 li").html(); 

これは動作しませんありません。

助けが必要ですか?

+0

私はあなたに '' ol li ".sort(" sortFunction).appendTo( "ol")); ' –

+0

可能な複製[DOM要素/オブジェクトをjQuery要素/オブジェクトに変換](http://stackoverflow.com/questions/7974500/convert-dom-element-object-to-jquery-element-object) –

+0

他の誰かが既にこれを書いてここに書きました: http://www.onemoretake.com/2009/02/25/sorting-elements-with-jquery/ –

答えて

1

これらはネイティブDOM要素です。 jQueryの機能が利用できるようにするには、それをラップするために、1つ上のjQueryの関数を呼び出すことができます。

$($a).find(...) 
+0

Arg。私は今や馬鹿みたいです。 – Fisher

1

をあなたはこのようにjQueryオブジェクトにネイティブJSオブジェクトを有効にすることができます:

var jsObject = $(nativeobject); 

がいることをい助けて?

1

オブジェクトに対して単にjQueryを呼び出すことはできませんか?

function sortFunction($a, $b) { 
    var jQueryA = $($a); 
} 
1

ただ、sort関数内のjQueryオブジェクトにそれらを回す:

$($a).find("div#3 li").html(); 

注:それら$aちょうどaを呼び出すことはありません。プレフィックスをドル記号で指定すると、一般にjquery型の変数が表示されます。そうでないと混乱します。