从javascript/jquery中选择第n个子元素

从javascript/jquery中选择第n个子元素,javascript,jquery,Javascript,Jquery,我只是想知道是否有办法做到以下几点。 我有一个包含以下html代码的页面 <div class="container"> <div class="tab"></div> <div class="tab"></div> <div class="tab"></div> </div> 我想做的是获取单击容器的哪个子容器的内容。 假设我点击了第二个标签,我可以知道哪个孩子被点击了。如果单击选项卡2,我

我只是想知道是否有办法做到以下几点。 我有一个包含以下html代码的页面

<div class="container">
 <div class="tab"></div>
 <div class="tab"></div>
 <div class="tab"></div>
</div>
我想做的是获取单击容器的哪个子容器的内容。 假设我点击了第二个标签,我可以知道哪个孩子被点击了。如果单击选项卡2,我想做某事,如果单击选项卡3,我想做其他事情。

是,使用
index()
,它将从其同级元素中返回元素的从零开始的索引:

$('body').on('click','.tab',function(){ 
    var clicked = $(this).index();
    switch (clicked) {
        // if the index is 0, call functionOne():
        case 0:
            functionOne();
            break;
        // if the index is 0, call functionTwo():
        case 1:
            functionTwo();
            break;
        // if the index is is not identified,
        // use the default, and call functionDefault():
        default:
            functionDefault();
            break;
    }
});
参考资料:

是,带有
索引()
,它从其同级元素中返回元素的从零开始的索引:

$('body').on('click','.tab',function(){ 
    var clicked = $(this).index();
    switch (clicked) {
        // if the index is 0, call functionOne():
        case 0:
            functionOne();
            break;
        // if the index is 0, call functionTwo():
        case 1:
            functionTwo();
            break;
        // if the index is is not identified,
        // use the default, and call functionDefault():
        default:
            functionDefault();
            break;
    }
});
参考资料:


您可以使用
index()
方法:

$('body').on('click','.tab',function(){ 
     var tabIdx = $(this).index() + 1;

     switch (tabIdx)
     {
         case 1:
             // do something for 1
             break;
         case 2:
             // do something for 2
             break;
         case 3:
             // do something for 3
             break;
     }
});

请参见您可以使用
index()
方法:

$('body').on('click','.tab',function(){ 
     var tabIdx = $(this).index() + 1;

     switch (tabIdx)
     {
         case 1:
             // do something for 1
             break;
         case 2:
             // do something for 2
             break;
         case 3:
             // do something for 3
             break;
     }
});

请参见

您可以使用索引方法获取所单击元素的

$(document).on('click', '.tab', function(){
   var tabNum = $(this).index(); // 0 based index of the tab
});

您可以使用index方法获取单击元素的

$(document).on('click', '.tab', function(){
   var tabNum = $(this).index(); // 0 based index of the tab
});

您好,下面的代码可以帮助您

$(".tab").click(function() { 
  alert($(this).index());
 });

我想它可以工作。

您好,下面的代码可以帮助您

$(".tab").click(function() { 
  alert($(this).index());
 });

我想它是有效的。

试试
$(这个).index()
@KamranAhmed,你为什么要删除你的答案?独立事件是一个很好的主意,我正在更新它,所以删除了一段时间,以避免否决票。事实上,这不是个好主意。如果您不知道选项卡的确切数量,或者它们是动态生成的,那又如何。请尝试
$(this).index()
@KamranAhmed,为什么要删除您的答案?独立事件是一个很好的主意,我正在更新它,所以删除了一段时间,以避免否决票。事实上,这不是个好主意。如果您不知道选项卡的确切数量,或者它们是动态生成的,那又如何呢。