首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新:使用jQuery获取子div的索引

更新:使用jQuery获取子div的索引
EN

Stack Overflow用户
提问于 2012-03-03 23:40:05
回答 3查看 3.4K关注 0票数 2

我需要能够动态地确定某个div在另一个div中的索引是什么。例如:

代码语言:javascript
复制
<div id="parent">
    <div id="div-0"></div>
    <div id="div-5"></div>
    <div id="div-1"></div>
    <div id="div-2"></div>
    <div id="div-3"></div>
    <div id="div-4"></div>
</div>

对于其中的任何一个,我需要能够知道给定的div是第一个,第二个等等。

编辑:好的,显然我还没有很好的解释。我尝试了下面所有的方法,每次得到的结果都是0。我已经编辑了上面的例子,以反映正在发生的事情。因此,根据更新后的示例,我需要执行以下操作:

代码语言:javascript
复制
var index = $('#div-4').index();

目前,它每次都只返回0。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-03 23:47:41

代码语言:javascript
复制
   $('#parent div').on('click',function(){     
      var elIndex = $(this).index();      
      $(this).text('my index is: '+ elIndex);     
   });

http://api.jquery.com/index/

很高兴知道,在1.3.3 .index()版本以下的jQuery中将无法工作,

在这种情况下,您可以使用.prevAll()length

代码语言:javascript
复制
var elIndex = $(this).prevAll().length;

当您有多个类名作为子类时,此技术特别有用,例如,在DIV中有:

代码语言:javascript
复制
<div id="parent">
    <div class="aa"></div>
    <div class="bb"></div>
    <div class="aa"></div>
    <div class="bb"></div>
</div>

..。点击一个'.aa‘元素,你想要得到它的’索引‘,而不是像这样:

代码语言:javascript
复制
$('#parent .aa').click(function(){  
  var elIndex = $(this).prevAll('.aa');  
  $(this).text('my index type of class name is: '+ elIndex);
});
票数 4
EN

Stack Overflow用户

发布于 2012-03-03 23:47:09

正如我不是,我在评论中写道:

索引()

返回值

如果没有参数传递给.index()方法,则返回值是一个整数,指示jQuery对象中第一个元素相对于其同级元素的位置。

票数 0
EN

Stack Overflow用户

发布于 2012-03-03 23:50:16

您可以使用index作为@amnotiam所说的(最佳方式)。你可以使用它进行操作,甚至可以使用其中的一个:

Firstnth-childclosesteq

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

https://stackoverflow.com/questions/9547343

复制
相关文章

相似问题

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