ฉันจะซ่อนแถวตาราง HTML <tr>
เพื่อไม่ให้มีพื้นที่ว่างได้อย่างไร ฉัน<tr>
ตั้งค่าเป็นหลายชุดstyle="display:none;"
แต่ยังคงมีผลต่อขนาดของตารางและเส้นขอบของตารางจะสะท้อนถึงแถวที่ซ่อนอยู่
ฉันจะซ่อนแถวตาราง HTML <tr>
เพื่อไม่ให้มีพื้นที่ว่างได้อย่างไร ฉัน<tr>
ตั้งค่าเป็นหลายชุดstyle="display:none;"
แต่ยังคงมีผลต่อขนาดของตารางและเส้นขอบของตารางจะสะท้อนถึงแถวที่ซ่อนอยู่
คำตอบ:
ฉันอยากเห็นรูปแบบของตารางของคุณจริงๆ เช่น "ชายแดน - ยุบ"
เป็นเพียงการคาดเดา แต่อาจมีผลต่อการแสดงผลแถวที่ "ซ่อน"
คุณสามารถใส่รหัสได้หรือไม่? ฉันเพิ่มstyle="display:none;"
แถวในตารางตลอดเวลาและมันซ่อนทั้งแถวได้อย่างมีประสิทธิภาพ
คุณสามารถตั้งค่า<tr id="result_tr" style="display: none;">
แล้วแสดงกลับด้วย JavaScript:
var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';
คิดว่าฉันจะเพิ่มโซลูชันอื่นที่เป็นไปได้:
<tr style='visibility:collapse'><td>stuff</td></tr>
ฉันได้ทดสอบบน Chrome เท่านั้น แต่วางสิ่งนี้ไว้ในการ<tr>
ซ่อนแถวบวกเซลล์ทั้งหมดในแถวยังคงมีส่วนทำให้ความกว้างของคอลัมน์ บางครั้งฉันจะสร้างแถวพิเศษที่ด้านล่างของตารางโดยมีตัวเว้นวรรคเพียงบางส่วนที่ทำให้บางคอลัมน์ต้องมีความกว้างไม่น้อยกว่าความกว้างที่กำหนดจากนั้นซ่อนแถวโดยใช้วิธีนี้ (ฉันรู้ว่าคุณควรจะสามารถทำสิ่งนี้กับ css อื่นได้ แต่ฉันไม่เคยได้ผลเลย)
อีกครั้งฉันอยู่ในสภาพแวดล้อมโครเมี่ยมล้วนๆดังนั้นฉันจึงไม่รู้ว่าฟังก์ชันนี้ในเบราว์เซอร์อื่นเป็นอย่างไร
ถ้าdisplay: none;
ไม่ได้ผลจะตั้งค่าheight: 0;
แทนได้อย่างไร ร่วมกับขอบลบ (เท่ากับหรือมากกว่าความสูงของเส้นขอบด้านบนและด้านล่างถ้ามี) เพื่อลบองค์ประกอบต่อไป? ฉันไม่คิดว่าposition: absolute; top: 0; left: -4000px;
จะได้ผล แต่มันก็คุ้มค่าที่จะลอง
สำหรับส่วนของฉันใช้display: none
งานได้ดี
เพิ่มความสูงของบรรทัดต่อไปนี้: 0px; font-size: 0px; height: 0px; margin: 0; padding: 0;
ฉันลืมว่าอันไหนทำ ฉันคิดว่ามันเป็นความสูงของบรรทัดสำหรับ IE6
ฉันประสบปัญหาเดียวกันฉันยังเพิ่ม style = "display: none" ให้กับแต่ละเซลล์
ในที่สุดฉันก็ใช้ความคิดเห็น HTML
<!-- [HTML] -->
คุณสามารถใช้ style display: none ที่มี tr เพื่อซ่อนและจะใช้ได้กับทุกเบราว์เซอร์
var result_style = document.getElementById('result_tr').style;
result_style.display = '';
ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ..
เรื่องนี้เกิดขึ้นกับฉันและฉันก็งงว่าทำไม จากนั้นฉันสังเกตเห็นว่าถ้าฉันลบใด ๆ ; ฉันมีภายในแถวแล้วแถวนั้นไม่ใช้พื้นที่เลย
คุณต้องใส่การเปลี่ยนแปลงประเภทอินพุตเป็นซ่อนฟังก์ชันทั้งหมดของมันทำงานได้ แต่ไม่สามารถมองเห็นได้บนหน้า
<input type="hidden" name="" id="" value="">
ตราบเท่าที่ตั้งค่าประเภทอินพุตที่คุณสามารถเปลี่ยนส่วนที่เหลือได้ โชคดี!!
ฉันประสบปัญหาเดียวกันและฉันได้แก้ไขปัญหาแล้ว css ก่อนหน้านี้ล้น: ซ่อน; ดัชนี z: 999999;
ฉันเปลี่ยนเป็น overflow: มองเห็นได้;
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
จะลบออกจากโฟลว์เค้าโครงและควรแก้ปัญหาของคุณ - องค์ประกอบจะยังคงอยู่ใน DOM แต่จะไม่ส่งผลกระทบต่อผู้อื่น
opacity: 0
คุณสามารถตั้งค่า
<table>
<tr style="visibility: hidden"></tr>
</table>
visibility: hidden;
องค์ประกอบจะยังคงใช้พื้นที่นั่นคือความแตกต่างระหว่างvisibility
และdisplay
คุณสมบัติ
<table><tr style="display: none;"><td></td></tr></table>