-
ID:mcRm4N さんの質問

DOMロード後にjqueryでdiv要素を生成し、そのouterWidthを取得しようとしたのですが、値が0となっていました。
$(’<div class="text">aaaaaaa</div>’).outerWidth();
生成するdiv用のclassにはCSSの方でwidth:20remのように設定しているのですが、なぜ、outerWidthが取得出来ないのでしょうか?
.
CSSで設定している装飾自体は動的に生成したdiv要素に適用はされています。

.
一応、div要素生成後にjsの方で生成したjqueryオブジェクトのwidthを入れてしまえば生成したdivにwidth値を持たせることは出来たのですが、他に何か良い解決策はありますでしょうか?

みんなの回答 1 件

ID:zTO61C さんの回答

ブラウザにDOM要素が追加される前にouterWidthを使っている為かと思います。
要素をブラウザに表示してからouterWidthするのはいかがでしょうか。

ID:mcRm4N

ありがとうございます!まさにそれでした。追加後でないとouterWidthは計算出来ないのですね。参考になりました!

最終更新日:2016-02-20 (1,434 views)

関連するトピックス

ページ上部に戻る