为什么`$(item).width()`返回`0`即使元素存在?

时间:2011-11-09 16:41:51

标签: jquery

使用此代码,我试图根据宽度居中项目:

var name_ = 'Random name';
$('.arrow .text').text(name_);              
$('.arrow .text').css({'marginLeft':'-'+$('.arrow .text').width()/2+'px'});
console.log($('.arrow .text').length +' '+ $('.arrow .text').width() );

HTML

<div style="float:left;">
        <div class="map">
            <div class="arrow">
                <img src="http://www.discoverdartmouth.com/images/map.point.png" />
                <div class="text"></div>
            </div>
            <img src="http://www.freepik.es/foto-gratis/mapa-del-mundo_17-903095345.jpg" id="img1" />
            <br/>
            <br/>
            <span class="spain mPointer">Spain</span> <span class="australia mPointer">Australia</span>
        </div>                      
    </div>

线路设置边距不起作用且控制台日志输出"1 0",因此项目存在但没有宽度。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:4)

没有;空元素的宽度可以为0

不在DOM树中的元素也将具有0宽度。

相关问题