2011-11-02 34 views
2
返回null

我有以下HTML:jQuery的偏移()在Chrome

<div id="menu"> 
<ul> 
    <li><a href="#"><img src="imagenes/user.png" width="32" height="32" alt="My Profile" title=""/></a></li> 
    <li><a href="#"><img src="imagenes/photo.png" width="32" height="32" alt="Photo Gallery" title=""/></a></li> 
    <li><a href="#"><img src="imagenes/bookmark.png" width="32" height="32" alt="Social Bookmarking Tools" title=""/></a></li> 
    <li><a href="#"><img src="imagenes/rss.png" width="32" height="32" alt="RSS" title=""/></a></li> 
    <li><a href="#"><img src="imagenes/search.png" width="32" height="32" alt="Search" title=""/></a></li>    
    <li class="selected"><a href="#"><img src="imagenes/setting.png" width="32" height="32" alt="Control Panel" title=""/></a></li> 
</ul> 
<div id="box"><div class="head"></div></div></div> 

而下面的JS代碼:

$(document).ready(function() { 
     var style = 'easeOutExpo'; 
     var default_left = Math.round($('#menu li.selected').offset().left - $('#menu').offset().left); 
     var default_top = $('#menu li.selected').height(); 
       ... 

說我有問題是,「$(」 #menu li.selected')。offset()「在Chrome中返回null。我收到此錯誤消息:「未捕獲的TypeError:無法讀取屬性」空「的空值」。 在Firefox 5.0中工作正常,我還沒有在IE中試過。

謝謝!

+0

$()。offset()只在元素不存在時返回null。我已經在Chromium 14中測試了您的代碼,並且它的工作方式非常魅力。 –

回答

0

根據您的HTML代碼,<div id="menu">沒有結束標籤。

嘗試在HTML的末尾再添加一個</div>

+0

我沒有把結束標記放在這裏,但我在我的代碼中。謝謝! – mxch

+0

嗯,以及我剛剛用Chrome 15和jQuery 1.6.3和'$('#menu li.selected')。offset()'對我來說工作正常。 –