Javascript 获取元素的索引(不包括具有特定类的元素)?
我有一个列表,它可能有也可能没有一个不可选择的列表项动态添加到其中。如下所示(包括不可选择的列表项):Javascript 获取元素的索引(不包括具有特定类的元素)?,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我有一个列表,它可能有也可能没有一个不可选择的列表项动态添加到其中。如下所示(包括不可选择的列表项): 排除第一个非包含性元素,即listLabel。是否可以不将其包括在索引计数中?我尝试过使用.not()和类选择器等,但它返回的值与往常一样(3而不是2)或-1您需要选择所有li,除了。listLabel使用:not()选择器 $(“.listItem”)。单击(函数(){ var index=$(this.nexist(“ul”).find(“li:not(.listLabel)”).ind
排除第一个非包含性元素,即
listLabel
。是否可以不将其包括在索引计数中?我尝试过使用.not()
和类选择器等,但它返回的值与往常一样(3而不是2)或-1您需要选择所有li
,除了。listLabel
使用:not()
选择器
$(“.listItem”)。单击(函数(){
var index=$(this.nexist(“ul”).find(“li:not(.listLabel)”).index($(this.parent());
控制台日志(索引);
});代码>
-
作出选择:
-
全部的
-
一个
-
两个
-
三
您可以这样做parentIndex=$(“.js-sppmg_uuli”).index($(this.parent())代码>
这将为您提供类为.js-sppmg\uuu li
$('li.js-sppmg__li > span').on('click', function(){
var parentIndex = $(this).parent().index();
parentIndex = parentIndex-1;
console.log(parentIndex);
});
演示
$(“.js listItem”)。单击(函数(){
parentIndex=$(.js-sppmg_uuli”).index($(this.parent());
console.log(parentIndex);
});代码>
-
作出选择:
-
全部的
-
一个
-
两个
-
三
我认为您应该在li.js-sppmg\uu li>span
上应用单击事件,而不是。列出li
$('li.js-sppmg__li > span').on('click', function(){
var parentIndex = $(this).parent().index();
parentIndex = parentIndex-1;
console.log(parentIndex);
});
通过使用index()
并为其提供一个选择器来查找要在其中检索索引的元素组,您可以实现所需的功能。试试这个:
$('.js listItem')。单击(函数(){
var index=$(this.index('.js list.js listItem');
控制台日志(索引);
});代码>
-
作出选择:
-
全部的
-
一个
-
两个
-
三
检查一下
$('.js list.js-sppmg\uu li')。在('click',function()上{
var ntheelement=$(this.index())
如果(n元素==3)
警报(元素);
})
-
作出选择:
-
全部的
-
一个
-
两个
-
三
.closest('.listItem')
而不是.parent()
这很有效-谢谢!我忘了将.parent()添加到final.index()中。
$('li.js-sppmg__li > span').on('click', function(){
var parentIndex = $(this).parent().index();
parentIndex = parentIndex-1;
console.log(parentIndex);
});