1

我想用 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');
});
4

3 回答 3

3

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

$(this).parent().prev().find('a')
于 2012-04-12T14:46:44.557 回答
0
$(this).parent().prev('li').children('a').first();

.prev('li')确保兄弟姐妹确实是一个<li>.

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

于 2012-04-12T14:46:33.297 回答
0
$('resultsset a').hover(function(){
     $(this).parent().prev().find('a').css('bottom-bottom', '1px solid #000');
},
于 2012-04-12T14:47:41.783 回答