首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有特定类的jQuery获取子级的N个索引

使用带有特定类的jQuery获取子级的N个索引
EN

Stack Overflow用户
提问于 2017-03-22 19:24:54
回答 2查看 99关注 0票数 0

在单击事件上,我希望获得所选元素的索引。但是,我不想简单地获得N个索引,其中N表示它是父元素的第N个子元素。

相反,我想要N个索引,其中N表示包含指定类的父元素的N个子元素。在这个例子中,指定的索引是"type-2",所以最后一个子元素应该有N=2,因为它是具有该类的父元素的第三个子元素。

代码语言:javascript
复制
<div class="parent-element">
   <div class="child type-1"></div>
   <div class="child type-1"></div>
   <div class="child type-2"></div>
   <div class="child type-2"></div> 
   <div class="child type-2"></div> <!-- index should equal 2 -->
</div>

它将以这种方式选择..。

代码语言:javascript
复制
$(‘.child’).click(function(){
    $(this). …
}
EN

回答 2

Stack Overflow用户

发布于 2017-03-22 19:35:14

可以对集合调用.index()方法,它将返回集合中元素的索引。所以你可以使用:

代码语言:javascript
复制
var index = $(this).parent().children(".type-2").index(this);
票数 3
EN

Stack Overflow用户

发布于 2017-03-22 19:59:27

使用@Barmar解决方案:

代码语言:javascript
复制
$(".child").on( 'click', function() {
  var lastClass = $(this).attr('class').split(' ').pop();
  var index = $(this).parent().children("." + lastClass).index(this);
  $("#index-clicked").html(index);
});
代码语言:javascript
复制
.child{
display: inline-block;
  width: 100px;
  height: 100px;
}

.type-1{
  background-color: gray;
}

.type-2{
  background-color: blue;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="parent-element">
   <div class="child type-1"></div>
   <div class="child type-1"></div>
   <div class="child type-2"></div>
   <div class="child type-2"></div> 
   <div class="child type-2"></div>
</div>

Index clicked : <span id="index-clicked"></span>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42960895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档