0

width() 値の繰り返しと取得に少し問題があります。

$(".MyClass").each(
    function () {
        elemWidth = $(this).width();
    });

したがって、「MyClass」要素ごとに、幅を見つけたいと思います(一部は異なります)。

しかし、上記のコードは MyClass の最初のインスタンスの width() のみを生成し、その後は 0 を返します。

MyClass のすべてのインスタンスの幅を取得できるアイデアはありますか?

4

2 に答える 2

4

コードを簡素化するためmapに代わりに使用します。each

$('.MyClass').map( function() {
    return $(this).width();
});
于 2009-05-13T04:36:34.237 に答える
2
var widths = [];
$('.MyClass').each(function() {
    widths.push($(this).width());
}); 

うまくいくはずです。もう少しコードを示した場合、何が問題になっているのかを把握できるかもしれません。

アップデート:

いつこのメソッドを実行していますか? DOM の準備が整うまで待っていますか、それともすぐに実行しますか? そうでない場合、ブラウザはこれらの要素のすべてをまだレンダリングしていない可能性があります。

まだ行っていない場合は、これを試してください。

var widths = [];
$(document).ready(function() {
    $('.MyClass').each(function() {
        widths.push($(this).width());
    }); 
});
于 2009-05-13T04:07:41.723 に答える