我有这样的代码:
<div id="item-menu">
<ul style="padding-top: 10px; padding-left: 20px;">
<li id="item-1">1</li>
<li id="item-2">2</li>
<li id="item-3">3</li>
</ul>
</div>
我想获得相对于容器的每个项目位置。在此示例中,我将获得相对于<li>
的每个<ul>
位置,对吧?
我应该怎样做才能获得第1项的位置 - &gt;上:10,左:20?
答案 0 :(得分:2)
不可能更简单。只需在li
s上调用position()
方法:
var position = $("#item-?").position();
返回具有属性top
和left
的对象。您还需要在CSS中将ul
设置为position: relative
。
#item-menu { position: relative; }
答案 1 :(得分:1)
您可以使用.position()
来计算元素的位置:
var offset = $('#item-1').position();
alert(offset.left + ', ' + offset.top); // 20, 10
答案 2 :(得分:-1)
你必须添加样式位置:相对于你的
<ul style="position:relative; padding-top: 10px; padding-left: 20px;">
然后
$('#item-menu ul li').each(function(){
console.info( $(this).position());
});