Jquery - 获取列表位置

Posted

技术标签:

【中文标题】Jquery - 获取列表位置【英文标题】:Jquery - get list position 【发布时间】:2011-09-11 14:53:17 【问题描述】:

我有以下代码

<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 完成吗?

提前致谢

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

这不是必需的,但我会删除内联样式 - 添加隐藏样式:

 <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 中:

 .hidden display:none;

在 jQuery 中

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

(请注意,我假设“活动”类仅适用于未隐藏的行)

一旦您参考了相关项目,请参阅这篇文章: jQuery x y document coordinates of DOM object 了解如何获取它的位置。

【讨论】:

【参考方案3】:

当然可以,您可以使用 jQuery 轻松做到这一点。

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

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

如果你做不到,请告诉我,我可以将所需的代码发布给你,谢谢。

【讨论】:

【参考方案4】:

我认为这是你想要的

  $("ul.MenuMainContent li:visible")

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

你也可以像这样先加进去

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

【讨论】:

【参考方案5】:

使用此代码获取第一个可见列表..

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

【讨论】:

以上是关于Jquery - 获取列表位置的主要内容,如果未能解决你的问题,请参考以下文章

jquery获取滚动条高度和位置

jquery获取滚动条高度和位置

通过jQuery根据位置动态重新排列国家下拉列表?

jQuery获取元素相对于窗口的位置

phonegap+jquery 手机获取位置

使用jquery获取keyup位置[重复]