jquery找到前面的兄弟姐妹

时间:2012-04-12 14:44:15

标签: jquery dom traversal

我想用jquery来找到元素的前一个兄弟,所以举个例子,

<li>
    <a href="">
        <img src="http://placehold.it/45x45" alt="Profile Image"/>
        <hgroup>
            <h5>Person Number 1</h5>
            <h6>Recruitment Consultant</h6>
        </hgroup>
     </a>
</li>
<li>
    <a href="">
        <img src="http://placehold.it/45x45" alt="Profile Image"/>
        <hgroup>
            <h5>Person Number 2</h5>
            <h6>Recruitment Consultant</h6>
        </hgroup>
     </a>
</li>
<li>
    <a href="">
        <img src="http://placehold.it/45x45" alt="Profile Image"/>
        <hgroup>
            <h5>Person Number 3</h5>
            <h6>Recruitment Consultant</h6>
        </hgroup>
     </a>
</li>

如果我要悬停第二个列表元素a,我将如何找到之前的li a

我的尝试如下,

$('resultsset a').hover(function(){
    $(this).prev().find('li a').css('bottom-bottom', '1px solid #000');
},
function() {
    $(this).prev().find('li a').css('bottom-border', '1px solid #c0c0c0');
});

3 个答案:

答案 0 :(得分:3)

你很亲密。你想找到元素的父母的前一个兄弟,然后在其中找到a

$(this).parent().prev().find('a')

答案 1 :(得分:0)

$(this).parent().prev('li').children('a').first();

.prev('li')确保兄弟姐妹真的是<li>

使用.children('a')可确保只考虑直接后代。

答案 2 :(得分:0)

$('resultsset a').hover(function(){
     $(this).parent().prev().find('a').css('bottom-bottom', '1px solid #000');
},