.index()仅用于一个类的实例

时间:2013-08-02 10:48:11

标签: javascript jquery html

我在jQuery中遇到.index()函数的问题。

DOM概述:

<div class="one">
    <div class="two">
        <div class="three"></div>
        <div class="three"></div>
        <div class="three"></div>
    </div>
    <div class="threeB"></div>
    <div class="threeB"></div>
    <div class="threeB"></div>
</div>

<div class="one">
    <div class="two">
        <div class="three"></div>
        <div class="three"></div>
    </div>
    <div class="threeB"></div>
    <div class="threeB"></div>
</div>

<div class="one">
    <div class="two">
        <div class="three"></div>
        <div class="three"></div>
        <div class="three"></div>
    </div>
    <div class="threeB"></div>
    <div class="threeB"></div>
    <div class="threeB"></div>
</div>

根据用户点击的threetwo中的哪一个,显示threeB之一。我想用.index()函数执行此操作,但除了第一个函数之外,它都失败了。在第二个one类中,两个three具有索引3和4(而不是期望的0和1)。另一方面,.eq()的{​​{1}}似乎可以正常工作。

任何解决这个问题的简洁方法,而不必计算threeB之前有多少three个?{/ p>

1 个答案:

答案 0 :(得分:1)

它的工作原理如下:

$('.three').click(function(){
    $(this).parent().parent().find('.threeB').eq($(this).index())
        .css('background','green');
});

点击此处:jsFiddle