DOMを使用してページ内のいくつかの要素を取得しようとしています。$('ul li').text()
その後(またはその間に)、コンマを追加したいと思います。場合によっては、取得するテキストに空白やその他の文字が含まれています。
結果として、たとえばこのような配列を取得したいと思います["first text", "second element", "third"]
javascript関数またはjQueryを使用してそれを行う簡単な方法は何でしょうか?
よろしくお願いします。
DOMを使用してページ内のいくつかの要素を取得しようとしています。$('ul li').text()
その後(またはその間に)、コンマを追加したいと思います。場合によっては、取得するテキストに空白やその他の文字が含まれています。
結果として、たとえばこのような配列を取得したいと思います["first text", "second element", "third"]
javascript関数またはjQueryを使用してそれを行う簡単な方法は何でしょうか?
よろしくお願いします。
私があなたの質問を正しく理解したなら、li
あなたはセレクターのそれぞれのテキストを配列に入れたいと思うでしょう。もしそうなら、これを試してみてください:
var liText = $('ul li').map(function() {
return $(this).text();
}).get();
console.log($.unique(liText));
jQueryの$.map()メソッドを使用します。その目標は、マップされた値の配列を返すことです。コールバックで要素のテキストコンテンツを取得すると、要素のテキストコンテンツの配列になります。
Array.join()メソッドを使用して、配列要素(この場合は要素のテキスト)のコンマ区切りの文字列を返します。
var els = $('li');
var arr = $.map(els, function(item) {
return $(item).text();
});
var texts = arr.join(',');
スペースの存在に基づいて単語の配列が必要な場合は、join
javascriptメソッドを使用できます。もう1つのお気に入りであるjQueryマップメソッドに精通していません。
var res_arr = new Array();
$("ul li").each(function(e) {
res_arr[e] = $(this).text();
});
var output = res_arr.join(",");
したがって、出力にはコンマで区切られた要素が含まれます。
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(' ')
このための小さなプラグインを作成できます
$.fn.csv = function(){
var csv = '';
this.each(function(){
csv += $(this).text() + ',';
});
return csv;
};
そして、それを次のように使用します。
alert($('selector').csv());
ここの例。