【问题标题】:How to get the index of an <li> in a <ul> [duplicate]如何在 <ul> 中获取 <li> 的索引 [重复]
【发布时间】:2011-05-06 16:11:36
【问题描述】:

可能的重复:
How to get index of <li> element
jQuery - get the index of a element with a certain class

我有:

<ul id="parent">
     <li id="li1">li1</li>
     <li id="li2">li2</li>
     <li id="li3">li3</li>
</ul>

在别处还有一些其他的&lt;ul&gt;&lt;li&gt; 标签。

我想使用 jQuery 获取 li2 的索引,该索引位于 &lt;ul&gt; 中,id parent

【问题讨论】:

标签: javascript jquery jquery-ui


【解决方案1】:

OLD简单回答:$('ul#parent li:eq(1)').index()

$('#li2').index()

【讨论】:

  • 此答案假定您在尝试获取索引之前知道索引。
  • 这在某种程度上是多余的(在一级列表中)。您正在访问第二个 li 元素(li:eq(1)) 以获取其索引,该索引也将是 1
  • @jessegavin 不,它没有;这只是请求任何特定元素,然后请求其索引的示例。
  • 新:作品。 @Pixel bobby 非常感谢。我挣扎了最后 1 小时
  • OLDNEW 到底是什么意思?它是已过时已弃用还是什么?谢谢你..
【解决方案2】:

使用.index():

$('#li2').index();

ID 必须是唯一的,因此如果它们不在您的 HTML 中,您最好解决这个问题(例如,通过使用类)。

【讨论】:

  • -1 这个问题已经被反复询问和回答。菲利克斯,你不需要更多的代表(好吧,我们都需要更多的代表 :) 但是作为副本关闭比重新回答一个常见问题对网站更有益。
  • @Phrogz:你说得对,问题都非常相似,但上下文总是有点不同。但是我发现了一个非常接近这个问题的问题:stackoverflow.com/questions/3204349/…
  • 我认为不同的是,如果问题因重复政策而关闭,则可以,但如果问题是开放的答案,并且问题已回答但用户未接受。这意味着用户期待更多,而回答的内容对他/她不起作用。这样,SO 将有一些其他方法来解决类似问题。你可能不同意。只是我的意见。
【解决方案3】:
var index = $("#li2").prevAll().length;  //assuming 0 based index

【讨论】:

    猜你喜欢
    • 2018-08-06
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2014-09-15
    • 1970-01-01
    相关资源
    最近更新 更多