0

「クリッカー」divと「ポップアップ」divがあります。クリッカー div には、クリッカーの元の色を表す「originalcolor」属性があります。ポップアップがダブルクリックされたときに、ポップアップを非表示にして、クリッカーの色を元の色属性で定義された色に戻したいと考えています。以下のコードは機能しますが、3 行目で 2 回目の #clicker 選択を取得するには、 を繰り返すよりもクリーンな方法があるよう$('#clicker')です。

$('#popup').dblclick(function(){
    $(this).hide();
    $('#clicker').css('background-color', $('#clicker').attr('originalcolor'));
});
4

2 に答える 2

4

.css値の代わりに関数を渡すことができます:

$('#clicker').css('background-color', function(){
    return $(this).attr('originalcolor');
});

または、より単純に、 cache $('#clicker'):

var $c = $('#clicker');
$c.css('background-color', $c.attr('originalcolor'));
于 2013-08-29T18:40:54.517 に答える
3

ここで見た唯一のクリーンな方法は、jQuery の選択結果をキャッシュすることです。

$('#popup').dblclick(function(){
    $(this).hide();
    var $clicker = $('#clicker');
    $clicker.css('background-color', $clicker.attr('originalcolor'));
});
于 2013-08-29T18:41:36.503 に答える