Jquery 当有多个表时,获取每个表中的行数
我有多个表在同一页上,并希望添加一行显示每个表的计数,如下所示。 我尝试了一些东西,但它给出了所有表行的计数总和Jquery 当有多个表时,获取每个表中的行数,jquery,Jquery,我有多个表在同一页上,并希望添加一行显示每个表的计数,如下所示。 我尝试了一些东西,但它给出了所有表行的计数总和 <table> <tr> <td>Some data</td> <td>More data</td> </tr> <tr> <td>Some data</td> <td>More data</td> </
<table>
<tr>
<td>Some data</td>
<td>More data</td>
</tr>
<tr>
<td>Some data</td>
<td>More data</td>
</tr>
</table>
<table>
<tr>
<td>Some data</td>
<td>More data</td>
</tr>
<tr>
<td>Some data</td>
<td>More data</td>
</tr>
</table>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$().ready(function(){
//I want to add a line after each table showing each table row count
$("table").after(??? + " rows found.");
});
</script>
一些数据
更多数据
一些数据
更多数据
一些数据
更多数据
一些数据
更多数据
$().ready(函数()){
//我想在每个表后添加一行,显示每个表的行数
$(“表格”)。在(??+“找到行”);
});
您可以很容易地获得行计数,如下所示:
// loop over all tables
$("table").each(function(){
// get number of rows, uses jQuery's context parameters to speed things up
// (it is apparently somewhat faster than using 'find' in most cases)
var nrOfRows = $("tr", this).length;
$(this).after(nrOfRows + " rows found");
});
更新你可以用更少的行来完成。当然,我使用注释将其拆分以使其更清晰。你可以写:
$("table").each(function(){
$(this).after($("tr", this).length + " rows found");
});
这个怎么样
$("table").each(function(){
$(this).after($(this).find('tr').length + " rows found.")
});
编辑
要在最后一个表之后从两个表中获取总计,请执行以下操作:
$('table:last').after($('tr').length + " rows found.")
我建议:
$('table tbody').each(
function(){
var tfoot = $('<tfoot />', {'class' : 'rowSummary'}).insertBefore($(this)),
tr = $('<tr />').appendTo(tfoot),
len = $(this).find('tr').length,
cell = $('<td />',{'colspan' : '2' }).text(len).appendTo(tr);
});
$(“表体”)。每个(
函数(){
var tfoot=$('',{'class':'rowSummary'}).insertBefore($(this)),
tr=$('').appendTo(tfoot),
len=$(this.find('tr').length,
单元格=$('',{'colspan':'2'}).text(len).appendTo(tr);
});
这是在两个表之后给出所有表(4)中行的总和。是的..我第一次没有正确阅读你的问题..然后更改了..如果你在该代码中将函数传递到
之后..它将给出正确的结果..返回所有表中的行总和而不是每个表中的行总和。抱歉。误解了你最初的帖子。试试这个<代码>$('table:last')。在($('tr')之后。长度+“找到行”)
$('table tbody').each(
function(){
var tfoot = $('<tfoot />', {'class' : 'rowSummary'}).insertBefore($(this)),
tr = $('<tr />').appendTo(tfoot),
len = $(this).find('tr').length,
cell = $('<td />',{'colspan' : '2' }).text(len).appendTo(tr);
});
$("table").after(function(){
return $('tr', this).length + " rows found.";
});