假设我有一个这样的表:
+-----------+
| | | | | | |
|-+-+-+-+-+-|
| |a| |b| | |
|-+-+-+-+-+-|
| | | | | | |
|-+-+-+-+-+-|
| |c| |d| | |
|-+-+-+-+-+-|
| | | | | | |
+-----------+
我想删除所有空的外部行和列。上面的例子将简化为:
+-----+
|a| |b|
|-+-+-|
| | | |
|-+-+-|
|c| |d|
+-----+
我有一些工作代码,但它不是很优雅,更重要的是,速度太快。我需要一个可以快速删除多达30个无关行和列的解决方案。
有没有一种快速而中途的方式来做到这一点?
答案 0 :(得分:9)
var $theTable = $("table#myTable"),
lookAt = ["tr:first-child", "tr:last-child",
"td:first-child", "td:last-child"];
for (var i=0; i<lookAt.length; i++) {
while ( $.trim($(lookAt[i], $theTable).text()) == "" ) {
$(lookAt[i], $theTable).remove();
}
}
编辑:你可以用它作为内循环,也许它快一点:
for (var i=0; i<lookAt.length; i++) {
while ( var $x = $(lookAt[i], $theTable), $.trim($x.text()) == "" ) {
$x.remove();
}
}