2

javascript または jQuery を使用して、クラスのすべての要素に一意のイベント リスナーを追加して、イベントがトリガーされたときに、同じクラス名を持つすべての要素ではなく、その要素に対してのみトリガーされるようにすることは可能ですか?

たとえば、次の HTML があるとします。

<div class"clickable-box"><span style="display: none;">Hi There!</span></div>
<div class"clickable-box"><span style="display: none;">Peek-A-Boo!</span></div>
<div class"clickable-box"><span style="display: none;">Now You See Me!</span></div>

...そして次のjQuery

$('.clickable-box').click(function() {
    $('.clickable-box span').slideToggle('slow');
});

...上記は、すべての div のスパンの表示を切り替えます。

各divに一意のIDまたはクラスを使用せずに、これらのトリガーを個別に作成する方法はありますか?

4

2 に答える 2

5

あなたが必要

$('.clickable-box').click(function() {
    $(this).find('span').slideToggle('slow');
});

divの=後にも欠落していますclass

<div class="clickable-box"><span style="display: none;">Hi There!</span></div>
<div class="clickable-box"><span style="display: none;">Peek-A-Boo!</span></div>
<div class="clickable-box"><span style="display: none;">Now You See Me!</span></div>

デモ:フィドル

于 2013-09-09T23:45:56.880 に答える
2

スパンを検索するときは、コンテキストを指定する必要があります。

$('.clickable-box').click(function(){
    $('span', this).slideToggle('slow');
});
于 2013-09-09T23:51:53.240 に答える