0

特定のクラス(「.clickable」)を探し、クリックされたときにクラスを追加する(「.last-clicked」)単純な関数があります。('.last-clicked') クラスを他のすべての既存の要素から削除して、そのクラスのアイテムが 1 つだけになるようにします。

$('.clickable').click(function(event) { 
    $('.clickable').removeClass('last-clicked');
    $(event.target).addClass('last-clicked');
}); 

私の関数は機能しますが、ラッパーと関数で $('.clickable') を参照するのはばかげているようです。より効率的なアプローチはありますか?

4

3 に答える 3

1

DOM にクリック可能な要素が追加または削除されない場合は、次のようにすることができます。

var $clickable = $('.clickable');
$clickable.click(function(event) { 
    $clickable.removeClass('last-clicked');
    $(event.target).addClass('last-clicked');
}); 
于 2013-08-14T19:08:19.543 に答える
1

あなたが使用することができます.end()...

//you can swap out event.target with this, if you like
$('.clickable').click(function(event) { 
    $('.clickable').removeClass('last-clicked').end().find(event.target).addClass('last-clicked');
}); 

デモ: http://jsfiddle.net/dirtyd77/eU37H/3/

于 2013-08-14T19:11:55.870 に答える