JQueryを使用する際に問題があります。私は、以前の兄弟の幅( 'h4')に従って、絶対配置された 'ul'幅を動的にサイズ変更する関数を書いています。コードは次のとおりです。JQueryを使用して幅を設定および取得する
$(this).children('h4').each(function (i) {
var beforeWidth = $(this).width(); // This reads for example 234
$(this).next().width($(this).width()); // This should set the width
var afterWidth = $(this).next().get(0).clientWidth; // This returns always 0
});
HTMLがそのようである:それは0を返す理由
<div style="width: 30%;">
<h4>title</h4>
<ul style="position: absolute;">
<li>item 1</li>
<li>item 2</li>
</ul>
</div>
私は理解することはできませんので、私の 'UL' 対応 'H4' より常に小さいです。私は 'h4'幅はパーセント値を使ってCSSで設定されていると言わなければなりません。
EDIT:このコードは、非表示のdiv(私がモーダルポップアップとして使用する)の中にある場合にのみ発生します。それ以外の場合は、期待どおりに動作します!
ありがとう!
var afterWidth = $(this).next().width();
へ
は、あなたもあなたのhtmlをしてください投稿できます動作するはず? :) –
はい、申し訳ありません!それは1分以内に来る! :) – Alessandro
これは非常に複雑なやり方のようですが、より良い方法が必要です。 –