실제로 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를 사용하는 것이 중요합니다! 스타일 인라인 설정은 일반적으로 다른 규칙보다 강력하기 때문에 여기서는 작동하지 않습니다.