jQuery选择下一个div

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 () {
        ...
    }
);
2个回答

8
.next.nextAll只会搜索“直接兄弟元素”。您想要的元素是链接同级元素的子元素。
您可以尝试以下代码:
$(this).next('.link2').children('.div1')

或者,你可以遍历到父级并搜索所有后代:

$(this).parent().find('.div1')

0
你可以尝试这个:
$(".link1").hover(function(){
   $(this).parent().find(".div1").css('display','block');
}, function(){
   //
})

这不是 .closest 的作用。.closest 遍历元素的父级,直到匹配选择器。 - gen_Eric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接