Javascript 如何从父元素获取索引

Javascript 如何从父元素获取索引,javascript,jquery,Javascript,Jquery,下面是HTML <div id="father"> <div class="child"></div> <div class="child"></div> <div class="child"></div> </div> 但当HTML是: <div id="father"> <div class="child"></div

下面是HTML

<div id="father">
      <div class="child"></div>
      <div class="child"></div>
      <div class="child"></div>
</div>
但当HTML是:

<div id="father">
      <div class="child"></div>
      <div class="child"></div>
      <p>some text</p>
      <div class="child"></div>
</div>
有什么简单的方法可以满足要求吗


谢谢

您可以计算以前也有“child”类的兄弟姐妹:

$('.child')。单击(函数(){
变量计数=$(this).prevAll('.child').length;
控制台日志(计数);
});

AAA
BBB
CCC

DDD
使用
.index()
查找单击的
相对于其父对象的位置。将所选内容筛选为仅
#父亲>div

$(“#父>子”)。单击(函数(){
log($(this.index());
});

福
酒吧
一些文本

福巴
只需将其添加到选择器
$(“.child:not(p)”)
但无论如何,如果
p
没有
child
类,那么这样做是没有意义的。您实际阅读过关于如何使用此函数的说明吗?因为你的问题对函数的实际工作方式毫无意义。谢谢你的评论,很抱歉我的问题不清楚。首先,我们点击第一个div,得到索引0,当我们像上面那样添加p时,我们点击第四个div,得到索引3而不是2,我想问一下如何防止它;I’我对我的问题深表歉意。我编辑了它,我看了官方菜单。这是我不知道的神奇方法。谢谢你们两位评论员,请尽可能补充我的问题。试着点击最后一节,这不是你需要的答案吗
$.prevAll()
只是jQuery中的另一种方法,就像
$.index()
亲爱的@washinton:是的,我解决了它。
<div id="father">
      <div class="child"></div>
      <div class="child"></div>
      <p>some text</p>
      <div class="child"></div>
</div>
$(".child").index(":not(p)");