我試圖讓使用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));
join
JavaScript方法數組
。 我不熟悉另一個最喜歡的jQuery地圖方法。
var res_arr = new Array();
$("ul li").each(function(e) {
res_arr[e] = $(this).text();
});
var output = res_arr.join(",");
所以輸出將包含逗號分隔的元素。
我收到語法錯誤,試圖使用您的代碼!語法錯誤: res_arr [] = $(this).text(); – reycoy
@reycoy oops ...編輯的代碼[demo](http://jsfiddle.net/8NY27/6/),現在應該可以工作。 – optimusprime619
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());
例here。
一個例子可能有助於驗證你想要做什麼。 – HBP
jquery讓生活更輕鬆,但你的問題需要更好的例子更準確 – Dhiraj
檢查它:http://api.jquery.com/map/ – swati