2009-06-15 5 views
3

この例では、「Aの範囲内」のLIを選択しています(選択しているものは問題ありません。すべてが同じ「属性構造」を持つ「A」タグ)。jQueryを使用して、オブジェクトのコレクション全体で複数の属性値を選択する

「属性値」のコンマ区切りリスト(またはオブジェクト/コレクション)を返す方法については、私は不思議でした。私はそれがループなしでできるかどうか疑問に思っていた。

alert($(".bzsUserSelector-selected A")); 
// this returns "[object]", which is expected 

alert($(".bzsUserSelector-selected A").length); 
// this returns "4", which is expected for my example 

alert($(".bzsUserSelector-selected A").attr("myAttribute")) 
// this returns "aaa", which is the value of the FIRST "myAttribute" only, I don't want that. 
// I want something like this "aaa, bbb, ccc, ddd" 

「myAttribute」属性の4つの項目と4つの値のオブジェクトを返すことをお勧めします。

これは十分明確です。前もって感謝します。 - マーク

答えて

12

さて、これを実行する方法はたくさんありますが、butthis特定の方法は、比較的簡潔であるとjQueryでmakeArraymap機能を利用します。

$('li').map(function() { 
    return $(this).attr("myAttribute") 
}).get().join(',') 
+0

これはどのようにすべての属性をプルダウンしますか? – Jason

+1

ありがとう、完璧に働いた。とてもかっこいい。 – mschmidt42

+0

なぜ.map(...)だけでなく、$ .makeArrayの代わりにget()を使うのですか? –