4

所以代码看起来像这样:如何在将鼠标悬停在当前链接 1 时更改 div1 ?

<ul>
    <li>
        <a class='link1'></a>
        <a class='link2'>
            <div class='div1'></div>
            <div class='div2'></div>
        </a>
    </li>
    <li>
        <a class='link1'></a>
        <a class='link2'>
            <div class='div1'></div>
            <div class='div2'></div>
        </a>
    </li>
</ul>

我试过这样:

$(".link1").hover(
function () {
        $(this).nextAll('.div1').css('display','block');
        ...
    },

    function () {
        ...
    }
);
4

2 回答 2

8

.next并且.nextAll只搜索“直接兄弟姐妹”。您想要的元素是链接兄弟的子元素。

你可以试试这个:

$(this).next('.link2').children('.div1')

或者,您可以遍历父节点并搜索所有后代:

$(this).parent().find('.div1')
于 2012-05-16T21:04:54.687 回答
0

你可以试试这个:

$(".link1").hover(function(){
   $(this).parent().find(".div1").css('display','block');
}, function(){
   //
})
于 2012-05-16T21:05:45.287 回答