จริงๆแล้ว jQuery เพียงแค่ล้างค่าของคุณสมบัติ 'display' และไม่ได้ตั้งค่าเป็น 'block' (ดูการใช้งานภายในของ jQuery.showHide ()) -
function showHide(elements, show) {
var display, elem, hidden,
...
if (show) {
// Reset the inline display of this element to learn if it is
// being hidden by cascaded rules or not
if (!values[index] && display === "none") {
elem.style.display = "";
}
...
if (!show || elem.style.display === "none" || elem.style.display === "") {
elem.style.display = show ? values[index] || "" : "none";
}
}
โปรดทราบว่าคุณสามารถแทนที่ $ .fn.show () / $. fn.hide (); การจัดเก็บจอแสดงผลดั้งเดิมในองค์ประกอบตัวเองเมื่อซ่อน (เช่นเป็นคุณลักษณะหรือใน $ .data ()) แล้วนำกลับมาใช้อีกครั้งเมื่อแสดง
นอกจากนี้การใช้ CSS สำคัญ! อาจไม่ทำงานที่นี่เนื่องจากการตั้งค่าสไตล์อินไลน์มักจะแข็งแกร่งกว่ากฎอื่น ๆ