我在页面上有几个表,我需要运行一个循环来获取所有列值并将它们保存在逗号分隔的字符串中(我将这些字符串传递给ASP.NET页面的隐藏字段)。我怎么能写一个循环,以便它可以从let的“Route1”表中读取列值。不幸的是,我不能仅仅因为用户可以使用(jQuery)将它们从一个表混洗到另一个表而不依赖于#ID的TR和TD。
简单来说,我怎么能写一个循环来读取下表的列值
<table ID = "Route1">
<tr>
<td>row 1 col1</td> <td> row1 col2 </td>
</tr>
<tr>
<td>row 1 col1</td> <td> row1 col2 </td>
</tr>
</table>
<table ID = "Route2">
<tr>
<td>row 1 col1</td> <td> row1 col2 </td>
</tr>
<tr>
<td>row 1 col1</td> <td> row1 col2 </td>
</tr>
</table>
答案 0 :(得分:2)
试试这个:
var str = $("table:first").find("td").map(function(){
return $(this).text()
}).get().join(',')
答案 1 :(得分:1)
var values = [];
$('#Route1 td').each(function () {
values.push( $(this).text() );
});
var myString = values.join(',');
答案 2 :(得分:0)
$('#Route1 td').map(function() {
return $(this).text();
}).get().join(',')
然而,普通的JavaScript循环将更加高效。
答案 3 :(得分:0)
这是一种在普通javascript中执行此操作的方法:
function getTableCells(id) {
var data = [];
var cells = document.getElementById(id).getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
data.push(cells[i].innerHTML);
}
return(data.join(","));
}
var str = getTableCells("Route1");