有没有一种简单的方法可以在不使用循环的情况下从表中获取所有表行。
我认为这会起作用,但它只提醒第一行。
$(document).ready(function () {
var O = $('#mainTable').find('tr');
//var O = $('#mainTable tr');
alert(O.html());
//alerts <th>Month</th><th>Savings</th>
});
<table id ="mainTable" border="1">
<caption>Monthly savings</caption>
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>February</td>
<td>$50</td>
</tr>
<tr>
<td>March</td>
<td>$50</td>
</tr>
<tr>
<td>a</td>
<td>$50</td>
</tr>
<tr>
<td>m</td>
<td>$50</td>
</tr>
<tr>
<td>j</td>
<td>$50</td>
</tr>
<tr>
<td>july</td>
<td>$50</td>
</tr>
<tr>
<td>aug</td>
<td>$50</td>
</tr>
<tr>
<td>sep</td>
<td>$50</td>
</tr>
</table>
最佳答案
无论您使用什么,都会迭代每一行以从中获取内部 HTML。所以不,如果没有循环,你就无法做到这一点。
这是一种替代方法,可以在一行中获取消息(如果这就是您想要的),但它比循环效率稍低,因为它需要创建一个新数组。
$(document).ready(function () {
var rows = $('#mainTable tr');
var message = $.map(rows, function (v) {
return v.innerHTML;
}).join('\n');
alert(message);
});
我建议只在常规循环中执行此操作。
仅供引用 .html()
仅提醒第一行,因为这就是 it was designed to do因为这是最有用的。
Description: Get the HTML contents of the first element in the set of matched elements.
关于javascript - 一种无需使用循环即可从表中获取所有表行的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477553/