だから、これは私が仕事だろうと思ったものです:jQuery、オブジェクト配列の最大幅を見つけるにはどうすればよいですか?
Math.max($j.map($j.makeArray($j(".rl_shell")), function(val, i){
$j(val).width();
}));
内訳:
$j.isArray($j.makeArray($j(".rl_shell")))
trueを返し
と私はちょうど
$j.map($j.makeArray($j(".rl_shell")), function(val, i){
$j(val).width();
})
を行うとき、私は空を取得配列([]
)が結果として得られます。そう、私はマップが間違って使っていることを、
$j(".rl_shell")
戻り[DIV、DIV]
を推測しているが、私はここでの構文を使用: http://api.jquery.com/jQuery.map/ので、私はまさにわからないんだけど契約があります。
EDIT:答えの提案のカップルにつきとして
、私はこれを作ってみた:
私はそれを回避Math.maxを追加するとき[0,950]
を返しますが
$j.map($j.makeArray($j(".rl_shell")), function(val, i){
return $j(val).width();
});
、私は得るNaN
=/
私は問題に出くわしました、私は新しい問題を反映するために私の質問を更新しました。 – NullVoxPopuli
最後に.get()を追加する理由 – NullVoxPopuli
'.get'はjQueryオブジェクトコレクションをネイティブ配列に変換します。 '.apply'に配列を与えなければなりません。 Math.max.apply(Math、[0,950])は 'Math.max(0,950)'と等価であり、 '950'を返すのに対し、' Math.max([0,950]) 'はNaNを返します。 。 – dfsq