2011-06-09 90 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();