0

time_holderという名前の動的に生成されたdivがあり、データベースから返される行の量に応じて多数のオカレンスがあります。

divの1つをクリックすると、背景の色を変更し、他のすべてのtime_holder divをそのままにするか、元の色に戻します。私は単純なリセットで仕事ができたでしょうが、これはうまくいかないようです:

$(document).on('click', '.time_holder', function(){
$('.time_holder').css('background-color', '#EODEF3');
$(this).css('background-color', '#ccc');
});

最初の行ですべてのタイムホルダーdivが元の色にリセットされ、2番目の行でクリックされたdivの背景が変更されることを期待していました。

4

2 に答える 2

1

addClass属性を追加するためのものではありません。を使用し.css()ます。これがコードで、ビットイベントバインディングを単純化しています。

$('.time_holder').on('click', function() {
    $('.time_holder').css('background-color', 'red');
    $(this).css('background-color', 'blue');
});​
于 2012-11-11T11:17:52.417 に答える
0

私はこのコードを使用してそれを動作させています:-

$(document).on('click', '.time_holder', function(){
$('.time_holder').removeClass('link_bg').addClass('normal_bg');
$(this).addClass('link_bg');
});

しかし、なぜオリジナルが起こっていないのか理解できません.....

于 2012-11-11T11:34:44.320 に答える