0

特定のクラスのすべてのテキストを配列に取得しようとしています。

以下は理論的には機能しますが、それらを配列ではなくオブジェクトに入れます.mapは明らかにほとんどのバージョンのIEで広くサポートされていません:(

var valuesArr = $('.'+sort_column);
var valuesArr =  valuesArr.map(function(){return $(this).text().trim();});

すべての値をプレーンでシンプルな配列に入れる方法はありますか?

ありがとう!

4

3 に答える 3

1

単純な反復:

var array = [];

$(".elements").each(function() {
    array.push($.trim($(this).text()));
});

console.log(array);

またはjQuerymapメソッドを使用:

var array = $(".elements").map(function() {
    return $.trim($(this).text());
}).get();

console.log(array);​

デモ: http://jsfiddle.net/f6cmR/

于 2012-06-01T21:01:37.780 に答える
0

$.makeArray()jQueryオブジェクトを配列に変換してから、要素からテキストをマップするために使用できます。

var valuesArr = $.makeArray($('.elements'))
    .map(function() {
        return $(this).text().trim();
    });
于 2012-06-01T21:14:11.313 に答える
0

$.mapのように使用します

var valuesArr = $('.'+sort_column);
var valuesArr =  $.map(valuesArr,function(){
                      return $(this).text().trim();
                     }).get();

$.mapjQuery オブジェクトを返します。

jQuery オブジェクトは配列に似ていますが、配列ではありません! .map() 呼び出しの最後に .get() を呼び出す理由は、その jQuery オブジェクトを真の配列に変換するためです。その配列の要素は、コールバックによって返される値です。

于 2012-06-01T21:02:40.547 に答える