Tôi đang cố gắng ẩn/hiển thị các cột trong bảng dựa trên lựa chọn của người dùng trong thời gian chạy. Tôi định nghĩa hai lớp CSS:Có thể ẩn/hiển thị các cột trong bảng bằng cách thay đổi lớp CSS trên phần tử col không?
.hide { visibility: collapse; }
.show { visibility: visible; }
Tôi cố gắng để thiết lập các phong cách trên các yếu tố <col>
tương ứng với cột Tôi muốn ẩn/hiển thị:
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
...
</tr>
</thead>
<colgroup>
<col class="hide">
<col>
...
</colgroup>
<tbody>
<tr>
<td>Row 1 Column 1</td>
<td>Row 1 Column 2</td>
</tr>
...
</tbody>
</table>
Tuy nhiên, nó chỉ có vẻ làm việc trong Firefox nhưng không phải trong Safari hoặc Chrome. Safari và Chrome có cần xử lý đặc biệt không? Tôi cố gắng tránh lặp qua tất cả các hàng và sửa đổi lớp/kiểu CSS trên mỗi <td>
tương ứng và số cột trong bảng lớn, vì vậy tôi cũng muốn tránh tạo một lớp CSS cho mỗi cột. Có cách nào đáng tin cậy để ẩn/hiển thị các cột trên các trình duyệt chỉ bằng cách thay đổi lớp CSS trên <col>
?
liên quan: http://stackoverflow.com/questions/3077250/ie7-table-cells-made-invisible-by-css-cannot-be-made-visible-by-later-class-chang – BalusC