0

DOMを使用してページ内のいくつかの要素を取得しようとしています。$('ul li').text()

その後(またはその間に)、コンマを追加したいと思います。場合によっては、取得するテキストに空白やその他の文字が含まれています。

結果として、たとえばこのような配列を取得したいと思います["first text", "second element", "third"]

javascript関数またはjQueryを使用してそれを行う簡単な方法は何でしょうか?

よろしくお願いします。

4

5 に答える 5

1

私があなたの質問を正しく理解したなら、liあなたはセレクターのそれぞれのテキストを配列に入れたいと思うでしょう。もしそうなら、これを試してみてください:

var liText = $('ul li').map(function() {
    return $(this).text();
}).get();
console.log($.unique(liText));

フィドルの例

于 2012-05-17T09:30:18.193 に答える
1

jQueryの$.map()メソッドを使用します。その目標は、マップされた値の配列を返すことです。コールバックで要素のテキストコンテンツを取得すると、要素のテキストコンテンツの配列になります。

Array.join()メソッドを使用して、配列要素(この場合は要素のテキスト)のコンマ区切りの文字列を返します。

var els = $('li');

var arr = $.map(els, function(item) {
    return $(item).text();
});

var texts = arr.join(',');​

デモ

于 2012-05-17T09:33:25.320 に答える
1

スペースの存在に基づいて単語の配列が必要な場合は、joinjavascriptメソッドを使用できます。もう1つのお気に入りであるjQueryマップメソッドに精通していません。

var res_arr = new Array();
$("ul li").each(function(e) {
  res_arr[e] = $(this).text();
});
var output = res_arr.join(",");

したがって、出力にはコンマで区切られた要素が含まれます。

于 2012-05-17T09:33:39.313 に答える
0
var result = new Array();
$('ul li').each(function(){
    result.push($(this).text());
})
return result;//get a array,if you want a string you can use result.join(',') or     //result.join(' ') 
于 2012-05-17T09:45:19.063 に答える
0

このための小さなプラグインを作成できます

$.fn.csv = function(){
    var csv = '';

    this.each(function(){
        csv += $(this).text() + ',';
    });

    return csv;
};

そして、それを次のように使用します。

alert($('selector').csv());

ここの例。

于 2012-05-17T09:57:59.720 に答える