2011-11-09 59 views
0

有了這個代碼,我試圖中心的項目因寬度:

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

請問您可以發佈您的HTML。這聽起來像是應該使用HTML/CSS而不是JS/jQuery來實現的。 –

+1

不要使用jQuery來居中HTML元素。這就是CSS的用途。 – Blender

+0

您不需要添加'px'。 – SLaks

回答

4

否;空元素可以有0寬度。

不在DOM樹中的元素也將具有0寬度。

+0

但這個項目是不是空的,它在DOM樹...所以爲什麼寬度返回0? –

相關問題