2011-06-09 94 views
2

我有以下代码jQuery的 - 获取列表中的位置

<ul class="MenuMainContent"> 
     <li class="tabClass clubTab" style="display: none;"><a href="#tabs-1" class=" ">Club</a></li> 
     <li class="tabClass eatTab active" style="display: list-item;"><a href="#tabs-2" class=" selected">Eat</a></li> 
     <li class="tabClass barTab" style="display: none;"><a href="#tabs-3" class=" ">Drink</a></li> 
    </ul> 

我想使用jQuery来获取第一个可见的列表项的位置(即这里的风格是不会显示:无)

灿这与jQuery完成?

在此先感谢

回答

0

使用您所提供的代码,你可以获取第一个可见列表项的索引(相对于ul元素,使用以下jQuery:

$(".tabClass:visible").index()

使用您的代码示例,请参阅this fiddle(它应提醒“1”,作为第一个可见的列表项是在位置1(索引从0开始)。

+0

辉煌,谢谢 – twsJames 2011-06-09 11:34:37

0

没有必要做这个工作,但我会删除内联样式 - 添加样式隐藏:在jQuery的

.hidden {display:none;} 

<ul class="MenuMainContent"> 
    <li class="tabClass clubTab hidden"><a href="#tabs-1" class=" ">Club</a></li> 
    <li class="tabClass eatTab active"><a href="#tabs-2" class=" selected">Eat</a></li> 
    <li class="tabClass barTab hidden"><a href="#tabs-3" class=" ">Drink</a></li> 
</ul> 

在CSS

$('.tabClass.active:first').etc... 

(注意:我假设“积极”级仅适用于非隐藏行),一旦你有相关的项目的引用,然后请参阅本文

jQuery x y document coordinates of DOM object 如何得到它的位置。

0

绝对是的,你可以用jQuery轻松做到这一点。

您将利用.Position()方法获取您的对象的坐标。

检查此页面了解详情:http://api.jquery.com/position/

如果你不能做到,让我知道,我可以张贴你所需要的代码,谢谢。

0

我认为这是要你想

$("ul.MenuMainContent li:visible") 

工作示例这里http://jsfiddle.net/VXjvS/

您也可以先添加到像这样

$("ul.MenuMainContent li:visible:first").position() to get the position 
0

使用该代码来获得第一个可见的列表..

$("ul.MenuMainContent li:visible:first").position();