我有一个手风琴,有5个部分。每个部分内部都是一张桌子。如果该表的行数超过10行,则会追加“查看更多”链接。我的问题是在第一个表中附加了5次查看更多链接。在第二张表中有4次。在第三张表中有3次。等等...
如何在每个超过10行(或2行)的表格上只附加一次“查看更多”链接。
$(".accordion-group table tbody").each(function() {
var row = $(this).find("tr");
var colunm = $(this).find("tr:first td");
row.last().addClass("last");
var rowCount = row.length;
var columnCount = colunm.length;
if (rowCount > 10) {
$("<tr><td colspan=" + columnCount + " class=\"view_more_accordian\" style=\"text-align:center;\">View more</td></tr>").insertAfter(".last");
}
}); });
先谢谢你的帮助。
答案 0 :(得分:1)
原因是你的insertAfter selctor中你提供了tbody
并将返回所有这些并插入所有可用的tbody之后,而只是将它附加到当前的tbody即this
。
更改
$("<tfoot><tr><td colspan=" + columnCount + " class=\"view_more_accordian\" style=\"text-align:center;\">View more</td></tr></tfoot>")
.insertAfter("tbody");
到
$("<tfoot><tr><td colspan=" + columnCount + " class=\"view_more_accordian\" style=\"text-align:center;\">View more</td></tr></tfoot>")
.insertAfter(this);
另外,您可以避免使用第一个.each
(基于您显示的代码)而不是
$(".accordion-group table tbody").each(function () {
...
});