要素が非表示になっていると、読むことができません。それらの寸法、これは一般的な JavaScript の問題ですか、それとも jQuery に回避策がありますか?
私は例えば持っています。ウィジェットを含む一部のタブは、非表示になっているため初期化が正しく機能しません。
どうも
私が知っている回避策はありません。
ただし、CSS で display:none の代わりに visibility:hidden を使用することもできます。visibility:hidden を使用して非表示にされた要素は、位置とサイズを維持しますが、単に非表示になります。
お役に立てれば。
可視性:非表示を設定した場合でも要素はスペースを占めるため、位置:絶対値も設定して、ドキュメントフローの外に移動します。必要に応じて、イベントなどを目に見えない形でブロックしないように、要素を画面の外に配置できます。
$("#el").css({
visibility: "hidden",
position: "absolute",
left: "-9999px"
});
そこから、要素の幅を読み取ることができます。例えば:
$("#el").width();
お役に立てれば!
この寸法プラグインは、隠し要素の寸法を取得できると言います。
このブログ投稿では、display:none を使用して非表示になっている要素のサイズを取得する方法を紹介しています。ここでの他の回答は同じアイデアに触れていますが、どちらも CSS プロパティを元の値に戻すソリューションを提供していません。