我有一个“clicker”div和一个“popup”div。 clicker div具有'originalcolor'属性,用于描述clicker最初的颜色。当双击弹出窗口时,我想隐藏弹出窗口并将点击器的颜色更改回原始颜色属性中定义的颜色。下面的代码有效,但似乎应该有一种更简洁的方式在第3行中第二次获得#clicker选择,而不是重复$('#clicker')
。
$('#popup').dblclick(function(){
$(this).hide();
$('#clicker').css('background-color', $('#clicker').attr('originalcolor'));
});
答案 0 :(得分:4)
您可以传递.css
函数而不是值:
$('#clicker').css('background-color', function(){
return $(this).attr('originalcolor');
});
或者更简单地说,缓存$('#clicker')
:
var $c = $('#clicker');
$c.css('background-color', $c.attr('originalcolor'));
答案 1 :(得分:3)
我在这里看到的唯一可能更清晰的方法是缓存jQuery选择结果:
$('#popup').dblclick(function(){
$(this).hide();
var $clicker = $('#clicker');
$clicker.css('background-color', $clicker.attr('originalcolor'));
});