Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从所选元素中获取索引_Javascript_Jquery_Html_Indexing - Fatal编程技术网

Javascript 从所选元素中获取索引

Javascript 从所选元素中获取索引,javascript,jquery,html,indexing,Javascript,Jquery,Html,Indexing,所以我有一个带有一些子元素的div,当我用jQuery选择一个时,我想在选择器中获取它的索引 <div> <div class="red"></div> <div class="red"></div> <div class="red"></div> <div class="blue"></div> <div class="red"></div>

所以我有一个带有一些子元素的div,当我用jQuery选择一个时,我想在选择器中获取它的索引

<div>
  <div class="red"></div>
  <div class="red"></div>
  <div class="red"></div>
  <div class="blue"></div>
  <div class="red"></div>
  <div class="blue"></div>
  <div class="blue"></div>
  <div class="red"></div>
</div>

假设我选择了主div中的最后一个元素。如果我对它调用index(),它会给我“7”,因为在所有子元素中,索引是“7”。但是现在让我们假设我想要得到基于其他“红色”元素的索引,目标是返回值“4”,因为在所有“红色”元素中,它是第五个。我查阅了文档,没有找到全部内容,然后我尝试在index()方法中使用选择器,比如index('.red'),但什么都没用。

好吧,上面说:

.index(元素)

element要查找的DOM元素或jQuery对象中的第一个元素

我们可以这样做:

selectedElements.filter('.red').index(this);
如果您还没有
selectedElements
,则可以选择相应的同级元素,例如:

$(this).parent().children('.red')
如果每个元素只有一个类,则过滤器可以是动态的:

var index = $(this).parent().children('.' + this.className).index(this); 
那么,报告说,

.index(元素)

element要查找的DOM元素或jQuery对象中的第一个元素

我们可以这样做:

selectedElements.filter('.red').index(this);
如果您还没有
selectedElements
,则可以选择相应的同级元素,例如:

$(this).parent().children('.red')
如果每个元素只有一个类,则过滤器可以是动态的:

var index = $(this).parent().children('.' + this.className).index(this); 
使用
.index()
函数

对于以上内容,如果想要获取red类元素的索引,请使用
$('div.red').index(elem)

$('div.red)
将创建div中带有红色类的元素列表。
.index(elem)
将在数组中搜索
元素。

使用
.index()
函数

对于以上内容,如果想要获取red类元素的索引,请使用
$('div.red').index(elem)


$('div.red)
将在div中创建一个带有红色类的元素列表。
索引(elem)
将在数组中搜索
元素。

对于我来说,这对给定的HTML非常有效:

$('div').eq(5)​​​​​​​​​​.index('.red') // 3

您可以将选择器放入
.index()
函数中。

对于我来说,这对于给定的HTML非常有效:

$('div').eq(5)​​​​​​​​​​.index('.red') // 3

您可以将选择器放入
.index()
函数中。

使用id=test作为父项运行所有选择器

演示:


使用id=test作为父级运行所有这些测试

演示:


谢谢你提供的信息,而不是使用$(this.index()。我做了$(this.parent()。children('.red')。索引(this)并解决了它。:)谢谢你提供的信息,而不是使用$(this.index()。我做了$(this.parent()。children('.red')。索引(this)并解决了它。:)