jQuery offset()在Chrome中返回null

时间:2011-11-02 03:21:14

标签: jquery google-chrome null offset

我有以下HTML:

<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:无法读取null的属性'左'”。 在Firefox 5.0中工作正常,我还没有在IE中试过。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据您的HTML,<div id="menu">没有结束标记。

尝试在HTML的末尾添加一个</div>