【发布时间】:2011-11-02 03:21:13
【问题描述】:
我有以下 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:无法读取属性 'left' of null”。 在 Firefox 5.0 中运行正常,我还没有在 IE 中尝试过。
谢谢!
【问题讨论】:
-
$().offset()仅在元素不存在时返回null。我已经在 Chromium 14 中测试了你的代码,它就像一个魅力。
标签: jquery google-chrome null offset