0

jquery 函数宽度()总是返回 0。这是我的布局

<div class="entity" id="id-@user.id">
   <div class="inactive">
      <div class="touch-header">                                               
         <div>
            <small>@user.name<br>@user.surname</small>
         </div>

         <div role="button" data-toggle="modal" id="home_office_id-@user.id" class="home_office_log pull-right" style="margin-top: -2.2%;text-align:center; margin-right: 2px;opacity: 0.8;width: 50px; height: 50px;position: absolute; margin-left: 4.9%;z-index: 1;">
           ...
         </div>
      </div>
   </div>
</div>

然后我有 javascript 代码,我想通过 animate 方法将标签 <small> </small> 的内容移动到 div class="entity" 的中间

var lab = $('div.entity#id-' + userId).children().
        children().children().children('small');                         
lab.css('position', 'relative').animate({
    left: $('.entity#id-'+userId).width() - lab.width() / 2 - 15
}, 500);

但在这两种情况下,函数 width() 都返回 0。我该怎么办?

4

2 回答 2

0

问题解决了,这一切都是为了生成另一个页面作为不同选项卡的克隆,所以即使布局只生成一次,jquery 对象也会在 DOM 中创建两次。并且该选择器返回了 2 个对象,但其中只有一个对象正确设置了宽度属性。无论如何感谢您的回复,尤其是@Juan

于 2013-07-29T08:17:24.323 回答
-2

尝试innerWidthor outerWidth,他们实际上计算了值,widthAFAIK 只返回 CSS 中的值。

于 2013-07-26T19:11:30.283 回答