2011-10-07 12 views
5

特定の幅のCSSクラスを持つアイテムの幅を動的に見つけようとしていますが、背景画像(スプライト)を動的に配置するために使用します。ただし、アイテムはまだDOMに追加されていません。クラスのwidthプロパティをDOMに追加する前に読み込む方法はありますか?javascript/jquery - domにまだ追加されていない要素/ cssクラスの幅を取得する方法

+0

私は信頼できるとは思いません。一般的な方法は、スクリーン(-x、-y)に追加して幅を確認することです。 – CaffGeek

+0

JavaScriptがDOMに追加されるまで、JavaScriptが要素の '物理的な'プロパティにアクセスすることはできません。だから私はこれが可能だとは思わない、いいえ... –

+0

コンセンサスはいいえと言うだろう。私もそれは可能だとは思わない。 –

答えて

1

私はあなたが傾けると信じています。代わりにテストdivに追加し、幅を見つけてdivを削除します。

$selector.append("<div id='test'></div>"); 
    var widthVal= $selector.find("#test").width(); 
     $("#test").remove(); 

セレクタは、追加したい要素セレクタです。 クラスを「テスト」divに関連付けて「display:none」とすることができます

0

これはリトルハッキーですが、これはうまくいくはずです。それをCSS属性display: noneを持つDOMに追加してください。それで、それが見えなくなると、withプロパティを読み込んで、必要があれば要素を削除することができます。または、状態をDisplay:noneに変更します。

これが役に立った。

関連する問題