Làm cách nào để ẩn một hàng trong bảng HTML <tr>
để nó không chiếm không gian? Tôi đã đặt một số <tr>
thành style="display:none;"
, nhưng chúng vẫn ảnh hưởng đến kích thước của bảng và đường viền của bảng phản ánh các hàng bị ẩn.
Làm cách nào để ẩn một hàng trong bảng HTML <tr>
để nó không chiếm không gian? Tôi đã đặt một số <tr>
thành style="display:none;"
, nhưng chúng vẫn ảnh hưởng đến kích thước của bảng và đường viền của bảng phản ánh các hàng bị ẩn.
Câu trả lời:
Bạn có thể bao gồm một số mã? Tôi thêm style="display:none;"
vào các hàng trong bảng của mình mọi lúc và nó ẩn toàn bộ hàng một cách hiệu quả.
Bạn có thể đặt <tr id="result_tr" style="display: none;">
và sau đó hiển thị lại bằng JavaScript:
var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';
Tôi nghĩ rằng tôi sẽ thêm vào đây một giải pháp tiềm năng khác:
<tr style='visibility:collapse'><td>stuff</td></tr>
Tôi chỉ thử nghiệm nó trên Chrome nhưng việc đặt nó trên <tr>
ẩn hàng CỘNG tất cả các ô bên trong hàng vẫn đóng góp vào độ rộng của các cột. Đôi khi tôi sẽ tạo thêm một hàng ở cuối bảng chỉ với một số dấu cách làm cho nó để các cột nhất định không thể nhỏ hơn một chiều rộng nhất định, sau đó ẩn hàng bằng phương pháp này. (Tôi biết bạn được cho là có thể làm điều này với các css khác nhưng tôi chưa bao giờ làm điều đó thành công)
Một lần nữa, tôi đang ở trong một môi trường chrome hoàn toàn nên tôi không biết nó hoạt động như thế nào trong các trình duyệt khác.
Nếu display: none;
không hoạt động, làm thế nào về cài đặt height: 0;
thay thế? Kết hợp với một lề âm (bằng hoặc lớn hơn, chiều cao của đường viền trên và dưới, nếu có) để xóa thêm phần tử? Tôi không tưởng tượng điều đó position: absolute; top: 0; left: -4000px;
sẽ hiệu quả, nhưng nó có thể đáng để thử.
Về phần tôi, sử dụng display: none
hoạt động tốt.
Tôi đang gặp vấn đề tương tự, tôi thậm chí đã thêm style = "display: none" vào mỗi ô.
Cuối cùng, tôi đã sử dụng nhận xét HTML
<!-- [HTML] -->
Bạn có thể sử dụng kiểu hiển thị: không có tr để ẩn và nó sẽ hoạt động với tất cả các trình duyệt.
Bạn cần đặt thay đổi kiểu nhập thành ẩn, tất cả các chức năng của nó hoạt động nhưng nó không hiển thị trên trang
<input type="hidden" name="" id="" value="">
miễn là loại đầu vào được đặt thành bạn có thể thay đổi phần còn lại. Chúc may mắn!!
HTML:
<input type="checkbox" id="attraction" checked="checked" onchange="updateMap()">poi.attraction</input>
JavaScript:
function updateMap() {
map.setOptions({'styles': getStyles() });
}
function getStyles() {
var styles = [];
for (var i=0; i < types.length; i++) {
var style = {};
var type = types[i];
var enabled = document.getElementById(type).checked;
style['featureType'] = 'poi.' + type;
style['elementType'] = 'labels';
style['stylers'] = [{'visibility' : (enabled ? 'on' : 'off') }];
styles.push(style);
}
return styles;
}
position: absolute
sẽ xóa nó khỏi luồng bố cục và sẽ giải quyết vấn đề của bạn - phần tử sẽ vẫn ở trong DOM nhưng sẽ không ảnh hưởng đến những phần tử khác.
opacity: 0
Bạn có thể đặt
<table>
<tr style="visibility: hidden"></tr>
</table>
visibility: hidden;
các yếu tố vẫn sẽ mất không gian, đó là sự khác biệt giữa visibility
và display
thuộc tính
<table><tr style="display: none;"><td></td></tr></table>