2013-02-02 25 views
0

朋友你好獲得寬度我想要得到的圖像的寬度被包裹在<li>下面是我的代碼如果元素使用jQuery

SCRIPT

var imageWidth = $('.slider_cont ul li').children('img').width(); 
console.log(imageWidth); 

HTML

<div class="slider_cont"> 
     <ul> 
      <li><img src="images/1.jpg" alt=" " /></li> 
      <li><img src="images/2.jpg" alt=" " /></li> 
      <li><img src="images/3.jpg" alt=" " /></li> 
      <li><img src="images/4.jpg" alt=" " /></li> 
     </ul> 
    </div> 

當我在Firefox中打開它時,我的代碼給出了確切的值,但當我檢查時給出了0(ZERO)它變成鉻....我不知道爲什麼..請幫助我的傢伙

+0

瀏覽器加載完成後,您可以要求圖片的大小。除非在這種情況下,您在'' – Alexander

+0

@亞歷山大提供'寬度'屬性感謝幫助兄弟..實際上我不想給'img'標籤的寬度...並給出代碼在Firefox中工作不在chrome中... – Kamal

+0

嘗試將它封裝在'$(window).load(function(){...});'? (代碼片段的問題是你無法在上下文中看到代碼) – Alexander

回答

0

有4張圖片在您的列表中。您的代碼只記錄第一個。

這將保存圖像在數組中的寬度。

var imageWidth = new Array(); 
$('.slider_cont ul li').children('img').each(function() { 
    imageWidth.push($(this).width()); 
}); 
console.log(imageWidth); 
0

Chrome渲染圖像的方式與FF不同。要正確獲取圖像寬度,您需要等待瀏覽器完成加載圖像標記。一種方法是在圖像標籤上加載事件,如下所示:

<script> 
    function showWidth(){ 
     var imageWidth = $('.slider_cont ul li').children('img').width(); 
     console.log(imageWidth); 
    } 

</script> 
<body> 
    <div class="slider_cont"> 
     <ul> 
      <li><img src="3Qp6h.png" alt=" " onload="showWidth()"/></li> 
     </ul> 
    </div> 
</body> 
0

試試這個代碼。

var image = $('.slider_cont ul li').children('img'); 
console.log(image.clientWidth);