実際、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の使用も重要です。おそらくここでは機能しません-スタイルをインラインで設定することは通常他のどのルールよりも強力であるため