使用JQuery设置和检索宽度

时间:2012-01-18 10:20:55

标签: javascript jquery html

我在使用JQuery时遇到了问题。我正在编写一个函数,根据前一个兄弟的宽度(即'h4')动态调整绝对定位的'ul'宽度。代码是:

$(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就是这样:

<div style="width: 30%;">
   <h4>title</h4>
   <ul style="position: absolute;">
      <li>item 1</li>
      <li>item 2</li>
   </ul>
</div>

我无法理解为什么它返回0,所以我的'ul'总是小于相应的'h4'。我不得不说'h4'宽度是使用百分比值在CSS中设置的。

编辑:我应该说,只有当这段代码在隐藏的div(我用作模态弹出窗口)内时才会发生这种情况。否则它按预期工作!

谢谢你们!

1 个答案:

答案 0 :(得分:1)

更改

var afterWidth = $(this).next().get(0).clientWidth;

var afterWidth = $(this).next().width();

它应该可行