我目前在我的文檔中有許多表格都在類table.grid
下。我試圖通過並刪除任何沒有<td>
字段的表頭,即沒有結果生成的空表/表格。表頭類別的標題爲table.grid tbody tr.header th
,td的後續爲table.grid tbody tr td
。目前我的代碼如下:邏輯錯誤清理空表
$('table.grid tbody tr.header th').each(function (i) {
var remove = 0;
var tds = $(this).parents('tbody').find('tr td:nth-child(' + (i + 1) + ')');
tds.each(function (j) {
if (this.innerHTML == '') remove++;
});
if (remove == ($('table.grid tbody tr td').length - 1)) {
$(this).hide();
tds.hide();
}
});
但不幸的是,這是刪除每個表頭。不僅僅是沒有內容的人。我相信我正在用我的if語句錯誤地調用td
字段,但我不確定如何解決該問題。我試圖稱它爲$(this).next('table.grid tbody tr td').length - 1)
,並且也嘗試過closest()
運營商無濟於事。
有一個更簡單的方法來決定何時刪除一行。設置var remove = true;'。如果'this.innerHTML!='''在tds.each()內部,則將remove設置爲false。之後,如果'remove'爲true,則隱藏該行。打敗空單元格並將其與行中單元格的數量進行比較。 –
能否請您向我們展示一行表格的簡要示例以刪除?這將幫助我檢查你的選擇器。 –
當然。對不起,太不明確。查看這個jsfiddle,瞭解兩個部分表的示例。第一個表將被保留,因爲它有結果,但是我正在尋找清除整個空的第二個表,因爲在文檔生成時沒有結果複合。 http://jsfiddle.net/sM3Uc/1/如果你需要更多的信息,或者我不小心省略了一些東西,請告訴我。 – Fields