2

如何更改 jQuery 中的代码,这些代码将在 html 中引用上述项目?

html代码如下:

<div class="dramer">
    <ul>
        <li> </li>
        <li> <a class="shares" href="#"> Click </a> </li>
        <li> </li>
        <li> </li>
    </ul>

    <div class="drops"> </div>

</div>

jQuery中的代码:

$('a.shares').click(function (event) {
    event.preventDefault();
    event.stopPropagation();
    $(this).next(."drops").slideToggle(400);    
});

jQuery 中的函数旨在显示和隐藏无法触及的 div<li><ul>

如何修改代码以隐藏 jQuery 并显示 div?

4

5 回答 5

2

直接瞄准

$(".drops").slideToggle(400);

如果您需要它具有上下文意识,这样的事情可能会起作用

$(this).closest(".dramer").find(".drops").slideToggle(400);
于 2012-12-01T17:08:24.533 回答
1

$ (this). next(. "drops"). slideToggle (400);

$(this).closest('.dramer').children('.drops').slideToggle(400);
于 2012-12-01T17:10:21.347 回答
0

试试怎么样

$ ('a.shares'). click (function (event) {
         event.preventDefault ();
         event.stopPropagation ();
         $(this).parent(".dramer").children(".drops").slideToggle(400);
     });      
于 2012-12-01T17:09:52.760 回答
0

我不确定我明白你的意思。如果你的意思是你想隐藏你的孩子的 div ,你可以试试这个:

$ ('a.shares'). click (function (event) {
    event.preventDefault ();
    event.stopPropagation ();
    $(".drops").slideToggle (400);
});
于 2012-12-01T17:22:11.410 回答
0

您应该上到.shares和之间共享的最近的祖先,.drops然后.drops从那里找到:

$(".shares").on("click", toggleDrops);

function toggleDrops (event) {
    $(this).closest(".dramer").find(".drops").slideToggle(400);
    return false;
}
于 2012-12-01T17:13:44.633 回答