已筛选jQuery集中元素的索引
Index of an element in a filtered jQuery set
所以我已经搜索了几个小时,还没有真正找到解决方案。
jQuery方法.index()在调用集合中的元素时似乎没有考虑选择器。
为了澄清,当我有一个5个li元素的列表时,其中元素2、3和4具有类"foo"。当我第一次用$('li.foo')过滤这些项目时,我得到了一个大小为3个元素大的集合。当我对集合中的第一个项执行.index()时,比如so$('li.foo').first(.index),它不是返回0(因为它是集合中的一个项,索引从0开始计数),而是实际返回1(换句话说,第二个项的索引)。
现在有了上面的例子,在我的例子中似乎没有必要使用索引,但在我的代码中,我实际上过滤了过滤集($('li.foo').filter('.active'))以获得单个项,然后获得该项的索引。
问题似乎是.index忽略了过滤器和选择器,而我在$.inArray();
如果有人能阐明如何以一种可靠的方式获得指数,我将不胜感激!!
索引方法有多种变体可以在这方面帮助
您可以在一组元素上调用它,并将必须找到其索引的元素作为参数传递
var $lis = $('li.foo');
var idx = $lis.index($lis.first());//will return 0
另一种方法是将选择器作为自变量传递,然后index将基于当前元素相对于元素在元素集返回的元素集中的位置返回索引值
var $el = $('li.foo').first();
var idx = $el.index('li.foo');
至于你的问题
var $lis = $('li.foo'), $active = $('li.foo').filter('.active');
var index = $lis.index($active)
相关文章:
- 如何索引jquery中的每个元素
- 如何在z索引为auto的元素下堆叠
- 将一个元素放在具有相同z索引的其他元素前面
- 获取javascript中输入元素的索引
- 如何设置元素的z索引?JQuery、Javascript、CSS、HTML
- 已筛选jQuery集中元素的索引
- JavaScript-在不影响索引的情况下将元素插入数组
- 正在获取单击的元素相对于整个文档的索引
- 触发具有较低Z索引值的DOM元素的事件
- 获取页面上每个元素的Z索引
- 获取不同元素的索引
- 获取当前元素的索引并更改他的样式
- JQUERY 按钮返回到索引元素
- 获取在列表视图中具有特定首字母的索引元素
- 如何更改test.html中的索引元素
- 使用索引元素id时出现意外错误
- 删除数组中不存在的索引元素上的运算符行为
- 如何获取索引元素
- $index的元素变化,而使用过滤器如何获得正确的索引元素angularjs
- Javascript - 如何从 2D 数组中获取索引 [1] 元素的总和