2

上記のhtmlの項目を参照するjQueryのコードを変更するにはどうすればよいですか?

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

.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 に答える
0

私はあなたが何を理解しているのかわかりません。の子であるdivを非表示にする場合は、次のことを試してください。

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