選択した要素の各子の幅配列を作成したいと思います。私は試した :
var width = $(element).children().map(function () { return this.style.width; });
しかし、これは機能していません。次にalert(width[0])
、幅を表示する代わりに、を表示しますobjectHtmlElement
。私が間違っていることは何ですか?
選択した要素の各子の幅配列を作成したいと思います。私は試した :
var width = $(element).children().map(function () { return this.style.width; });
しかし、これは機能していません。次にalert(width[0])
、幅を表示する代わりに、を表示しますobjectHtmlElement
。私が間違っていることは何ですか?
.width()
インラインスタイルを設定した場合にのみ、styleプロパティが機能するようにしてください。
var widths = $(element).children().map(function () { return $(this).width(); });
基本配列を取得する場合は、get
メソッドを呼び出す必要があります。mapメソッドはjQueryでラップされた配列を返します。
戻り値はjQueryでラップされた配列であるため、返されたオブジェクトをget()して、基本的な配列で機能させるのが非常に一般的です。
var widths = $(element).children().map(function() {
return this.style.width;
}).get();
var obj = $('li');
var arr = $.makeArray(obj);
結果は次のようになります。
(typeof obj === 'object' && obj.jquery) === true;
jQuery.isArray(arr) === true;
マップの後にjquerywidth()とget()を使用します。
var widths = $(element).children().map(function() {
return $(this).width();
}).get();