ページの読み込み時に選択要素のサイズを設定する小さなjqueryを作成し、新しい自動サイズに基づいてコンテナのサイズを設定しようとしています。これは時々機能しますが、ページの読み込みが遅くなると失敗するようです。コードをデバッグして各行で一時停止すると、100% の確率で機能するため、次の行が発火する前に各アクションが完了していないと想定します。各行に setTimeout を追加してみましたが、少しは役に立ちましたが、常にではありませんでした。これを修正する方法はありますか?
$(document).ready(function() {
//set select element to auto width
setTimeout(function(){$("#PunchDD").width("auto");},5);
//Add some width to the element to account for custom drop down arrow
setTimeout(function(){$("#PunchDD").width($("#PunchDD").width() + 17);},5);
//Set container width a bit smaller to hide the stock drop down arrow
setTimeout(function(){$("#PunchDDContainer").width($("#PunchDD").width() - 18);},5);
});
また、JavaScriptが機能していないときにフェイルバックに固定サイズを使用するため、cssでサイズをautoに設定したくありません。