我有一个表有许多行(50)和单元格(50).现在我想用jQuery删除n个第一个或最后一个单元格.目前我有以下代码:
var n = 10; var last = true; for (var i = 0; i < n; i++) { table.find('tr').each(function() { if(last) $(this).find('td:last').remove(); else $(this).find('td:first').remove(); }); }
注意:表是一个jQuery元素.
代码可以工作,但是当我有一个50行50个单元格的表格时,执行速度非常慢,我删除了最后10个单元格.任何想法如何优化代码?
编辑:我也添加了第一个子句.
解决方法
我认为最佳可能是使用
nth-last-child
.
table.find("tr td:nth-last-child(-n+10)").remove();
好处是内部浏览器CSS选择引擎将被使用(或者在IE jQuery的情况下会帮助一点:)
这是删除最后3个元素的demo.在你的情况下将其改为10.