如何获取父div的子div索引。如果有几个父div与同一个类

时间:2014-07-11 16:54:25

标签: jquery html5

我有三个父div类作为inner_box2。每个父div包含五个以上的子div,类名为inner_box_items。

单击子div的跨度,它应返回父div内的子div索引/位置。那就是我必须在div.inner_box_items内的span中单击它,它应该返回inner_box2内的div.inner_box_items位置

`

<div class="inner_box2">
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
</div>

<div class="inner_box2">
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
</div>

<div class="inner_box2">
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
   <div class="inner_box_items"><span>View Position</span></div>
</div>

`

尝试如下。但没有工作..

var xyz=$(this).parents('.inner_box2').closest('.inner_box_items').index('.inner_box_items');

3 个答案:

答案 0 :(得分:1)

$('.inner_box_items').click(function(){
    console.log( $(this).index() ); 
    //logs the index of the element relative to its parent
});

这是一个显示被点击元素索引的working example

更新:问题已更新,现在想要在点击子跨度时获取父.inner_box_items的索引。

$('.inner_box_items span').click(function() {
    var parentIndex = $(this).parent().index();
});

答案 1 :(得分:0)

要在单击其中的span后获取div.inner_box_items的索引,请执行以下操作:

$(".inner_box_items").each(function(){
   $(this).children("span").click(function(){
     alert($(this).closest(".inner_box_items").index());
   })       
})

答案 2 :(得分:0)

@pmandell做得很好,这是一个小提琴http://jsfiddle.net/sA89N/1/

        function cl(param){if(window.console && window.console.log){console.log(param);}}

        $(document).ready(function(){

            $('.inner_box_items span').click(function() {
                cl($(this).parent().index());
            });
        });