Javascript 获取选定元素的第n个子元素的编号

Javascript 获取选定元素的第n个子元素的编号,javascript,jquery,html,Javascript,Jquery,Html,我试图找出如何获得所选元素的第n个子元素的数目。例如,如果我有: <parent> <child>a</child> <child>b</child> <child>c</child> <child>d</child> <child>e</child> </parent> $('child').click(function(){

我试图找出如何获得所选元素的第n个子元素的数目。例如,如果我有:

<parent>
  <child>a</child>
  <child>b</child>
  <child>c</child>
  <child>d</child>
  <child>e</child>
</parent>
$('child').click(function(){
  console.log($(this).nthChildOf('parent'));
});
如果我点击
c
,我喜欢控制台输出
3

谢谢你迅速的回答。我还有一个问题。我发现如果我使用:

<parent>
  <child onclick="nthOf(this)">a</child>
  <child onclick="nthOf(this)">b</child>
  <child onclick="nthOf(this)">c</child>
  <child onclick="nthOf(this)">d</child>
  <child onclick="nthOf(this)">e</child>
</parent>
它将始终输出1

如果我这样做了:

function nthOf(e) {
  console.log($('parent').index($(e)));
}
它将始终输出-1

如何修复此问题?

您可以使用获取其同级元素的数量

$('child').click(function(){
  console.log($('child').index( this ) + 1);
});

在回答你最近的评论时,我不知道你想实现什么,但如果这是你想要的,我会给你:D,根据你对问题的更新。你的功能应该是

function nthOf(e) {
  console.log($(e).parent().children().index(e) + 1);
}

请记住,如果OP在单击
c
时想要
3
,他们需要在其中添加1。另外,也没有必要把这个传给
。很好,詹姆斯!我将更新答案。它总是返回:0@shushil更新的代码。我想你可以在这个链接@SunilKumar中找到你想要的东西。它似乎总是输出
-1
@jameswayn:你试过这个吗?@SunilKumar这里:
function nthOf(e) {
  console.log($(e).parent().children().index(e) + 1);
}