最近在寫一個基于jquery的表格合并功能,需要對兩個表格進行合并,并且要按照一定規則進行循環操作,于是我嘗試使用jquery的循環語句來實現。
// 拿到第一個表格的行數
var tableOneRows = $('#table-one').find('tr').length;
// 拿到第二個表格的行數
var tableTwoRows = $('#table-two').find('tr').length;
// 合并兩個表格
for (var i = 0; i< tableOneRows && i< tableTwoRows; i++) {
// 拿到第一個表格當前行的td
var tableOneTds = $('#table-one').find('tr').eq(i).find('td');
// 拿到第二個表格當前行的td
var tableTwoTds = $('#table-two').find('tr').eq(i).find('td');
// 對兩個表格當前行的td進行循環
tableOneTds.each(function(j) {
// 拿到當前的td
var tableOneTd = $(this);
// 拿到第二個表格當前列的td
var tableTwoTd = $(tableTwoTds[j]);
// 對兩個表格進行合并
if(tableTwoTd.html()) {
tableOneTd.attr('colspan', 2);
tableOneTd.html(tableOneTd.html() + '
' + tableTwoTd.html());
}
});
}
代碼中,我首先是用jquery的find方法來拿到了兩個表格的行數,方便后面的循環。然后我們使用了一個for循環,來循環兩個表格。在每次循環中,我們使用find方法拿到當前行的td,并使用each方法對其進行循環。接下來,我們使用一個if語句,來判斷第二個表格當前列的td是否為空,如果為空,則不進行合并操作,否則我們將第一個表格當前行的td的colspan屬性設為2,并把兩個表格的內容合并到第一個表格的td中。
這是我的一個簡單的實現,我相信我肯定還有很多需要完善的地方,至少我們可以看到 jquery 的強大和方便。通過這次嘗試,我也學習到了不少關于jquery編程的技巧,以及關于表格合并的思路,對我來說是一次莫大的收獲。
上一篇css 刪除背景色