`jQuery.height()` が非表示要素の値を返すのはなぜですか?

Susan Sarandon
リリース: 2024-10-28 05:23:02
オリジナル
803 人が閲覧しました

Why Does `jQuery.height()` Return a Value for a Hidden Element?

jQuery: height()/width() および "display:none"

このシナリオでは、ID が「target」の要素" は、CSS によって表示プロパティが "none" に設定されています。ただし、$("#target").height() を使用して高さをチェックすると、ゼロ以外の値が取得されます。

この動作は、隠し要素の寸法にアクセスするときの jQuery の内部処理に起因します。要素の offsetWidth が 0 (jQuery によって「非表示」とみなされる) である場合、ライブラリはその高さを決定しようとします。

これを実現するために、jQuery は一時的に次のプロパティを要素に適用します。

  • position: "absolute"
  • visibility: "hidden"
  • display: "block"

次に、getWidthOrHeight(... を使用して高さを取得します。 )、必要に応じてボーダー/パディングを追加し、元のプロパティを復元します。

基本的に、jQuery は要素を慎重に表示し、その高さを取得して、再度非表示にします。これは UI スレッドが更新される前に発生するため、ユーザーはプロセスを認識しません。

このメカニズムにより、親要素が表示されていれば、非表示の要素でも .height()/.width() が機能できるようになります。したがって、.height()/.width() は、これらのメソッドによって内部的に処理されるため、表示/非表示シーケンスを手動で実行することなく呼び出すことができます。

以上が`jQuery.height()` が非表示要素の値を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート