用jQuery如何实现table的单元格合并和拆分,请举例说明
时间: 2024-05-08 14:15:33 浏览: 5
1. 单元格合并
可以使用jQuery的`colspan`和`rowspan`属性实现单元格合并。
例如,将第一行第一列和第二行第一列合并:
```html
<table>
<tr>
<td rowspan="2">1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
</table>
```
运行效果:
| 1 | 2 | 3 |
| - | - | - |
| 4 | 5 | |
| 6 | 7 | 8 |
2. 单元格拆分
可以使用jQuery的`remove()`方法移除需要拆分的单元格,然后重新创建需要拆分的单元格。
例如,将第一行第一列拆分为两个单元格:
```html
<table>
<tr>
<td>1-1</td>
<td>1-2</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
</table>
```
```js
$(document).ready(function() {
$("td:first-child").each(function() {
var rowspan = $(this).attr("rowspan");
if (rowspan > 1) {
var colIndex = $(this).index();
var rowIndex = $(this).parent().index();
for (var i = 1; i < rowspan; i++) {
var td = $("<td></td>").text("-");
$("tr:eq(" + (rowIndex + i) + ") td:eq(" + colIndex + ")").before(td);
}
$(this).removeAttr("rowspan");
}
});
});
```
运行效果:
| 1-1 | 1-2 | 2 | 3 |
| --- | --- | - | - |
| 4 | 5 | 6 | 7 |