javascript - jquery index() 与一些特定的选择器......?

标签 javascript jquery jquery-selectors indexing html-lists

我有一个 li 的父级,给定一个 li 的指针,我想得到它作为子级的位置。

为此我使用了:

li.index()

现在...我还有一个条件,它应该只在这些在 css 中具有 display:block 属性的 child 中找到一个索引。

我尝试了一些其他方法,但我无法解决它。 有什么想法吗?

编辑:PS:或者,更确切地说,对于那些没有 display:none 属性的。

编辑 2:好吧,我这些都需要引用父 ID 或特定 ID,但是如果只有一个指向 li 的指针怎么办,例如:

<ul>
<li>Foo</li>
<li>Bar</li>
<li>Fiz</li>
<li>Buz</li>
</ul>

li=$('li:nth-child(n)');

现在,假设我只知道一个变量,我希望它是其中没有 css display: none propery 的索引...

已解决这就是它的作用:

li.add(li.siblings()).filter(':visible').index( li );

感谢您以绝妙的想法和不同的方法帮助我。 :)

最佳答案

使用以下标记:

<ul>
  <li>Foo</li>
  <li>Bar</li>
  <li style="display:none">Fiz</li>
  <li>Buz</li>
</ul>

我们可以确定最后 li 个所有可见列表项的(从零开始)索引:

// 2
$("li:last").index("li:visible");

如果我们要删除 :visible 选择器,并请求最后一个的索引:

// 3
$("li:last").index("li");

更新:使用变量

如果您有对特定列表项的变量引用:

var lastItem = $("#parent li:last");

您仍然可以在同一容器中的可见子项中获取它的索引:

var index = $(lastItem).index("#parent li:visible");

更新 2:没有明确的父 ID

var index = lastItem.parent().find("li").index( lastItem );

关于javascript - jquery index() 与一些特定的选择器......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10578181/

相关文章:

javascript - "Can' t 绑定(bind)到 'ngModel' 因为它是 't a known property of ' p-calendar '"尝试使用 PrimeNG 组件的错误消息,为什么?

javascript - 过滤对象数组

javascript - 从一个未柯里化(Currying)的函数组成一个函数

javascript - 复制包含纯文本的 div 内容并选择菜单

javascript - 我怎样才能避免 "optimizing away"我的 javascript 测试用例?

php - 在 jQuery ajax 数据中发送 boolean 值

javascript - 滚动到多个 anchor

javascript - 如何检测选择器是否可以描述 html 元素?

javascript - 关于 JQuery 设计的困惑

javascript - 如何获得第二个字