我正在使用此javascript从表的选定单元格中获取数据:
var cellIndexMapping = { 0: true, 1: true, 3:true, 4:true, 5:true};
var data = [];
$j("#myTable tr").each(function(rowIndex) {
$j(this).find("td").each(function(cellIndex) {
if (cellIndexMapping[cellIndex])
data.push($j(this).text() );
});
});
var fullCSV = data.join(", ");
console.log (fullCSV);
这使我所有表格元素都以逗号分隔的数组形式出现。例如,如果我的桌子是
<th>| zero | one | two | three | four | five | </th>
---------------------------------------------
<tr>| A | B | C | D | E | F | </tr>
---------------------------------------------
<tr>| G | H | I | J | K | L | </tr>
我回来了:
A,B,D,E,F,G,H,J,K,L
我需要的是每行之间的换行符
"\n"
。所以我想要的结果看起来像:A,B,D,E,F,\n G,H,J,K,L \n
有任何想法吗?
最佳答案
var cellIndexMapping = { 0: true, 1: true, 3:true, 4:true, 5:true},
data = [],
finalData = [];
$j("#myTable tr").each(function(rowIndex) {
data.push([]);
$j(this).find("td").each(function(cellIndex) {
if (cellIndexMapping[cellIndex])
data[rowIndex].push( $j(this).text() );
});
});
$j.each(data, function(i, e) {
finalData.push( e.join(',') );
});
finalData.join("\n");
另外,您可以在每个循环中附加
\n
:var cellIndexMapping = { 0: true, 1: true, 3:true, 4:true, 5:true},
finalData = '';
$j("#myTable tr").each(function(rowIndex) {
var data = [];
$j(this).find("td").each(function(cellIndex) {
if (cellIndexMapping[cellIndex])
data.push( $j(this).text() );
});
finalData += data.join(', ') + "\n";
});
看到这个小提琴:http://jsfiddle.net/kLsW5/
关于javascript - 使用.each从表中创建字符串,如何在每行之后添加换行符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8735553/