jquery parent()选择<a> in main parent</a>

时间:2013-04-23 17:53:09

标签: jquery

嗨,我正在开展一个项目,我想抓住一位家长,但我不能这样做,谢谢你的建议

这是html部分的内容

<li> <a class="siralaMain" catid="7" href="#"> <span>Sahil</span> </a>
    <ul style="display: block;">
        <li> <a class="siralaSec active" catid="300" href="#"> </li>
    </ul>
</li>

$(this)在此处引用<a class="siralaSec active" catid="300" href="#">

当我做了

$(this).parent().parent().parent().addClass("active");

它将addClass添加到li,所以它就像这样

<li class="active"> <a class="siralaMain" catid="7" href="#"> <span>Sahil</span> </a>
    <ul style="display: block;">
        <li> <a class="siralaSec active" catid="300" href="#"> </li>
    </ul>
</li>

但我需要像这样addClassa

<a class="siralaMain active">

感谢任何建议

6 个答案:

答案 0 :(得分:2)

$(this).closest('.siralaMain').addClass('active');

好像你需要使用:

 $(this).closest('ul').prev().addClass('active');

答案 1 :(得分:0)

丑陋的parent链是丑陋的。

$(this).parent("li").parent("li").find("a").eq(0).addClass("active");

答案 2 :(得分:0)

使用

$(this).closest('li:has(.siralaMain)')
       .find('.siralaMain')
       .addClass('active');

答案 3 :(得分:0)

这有效:

$(this).parent().parent().parent().find("a").addClass("active");

小提琴:http://jsfiddle.net/Afgnz/

答案 4 :(得分:0)

试试这个

 $(this).closest('ul').prev('.siralaMain').addClass('active');

答案 5 :(得分:0)

这个怎么样 -

$(this).parents("li:eq(1)").find("a:first").addClass("active");

http://jsfiddle.net/mohammadAdil/4zgM2/1/