我在numbers
div中有一些内容。当我点击numbers-clicker
时,数字123456789
的内容被保存到oldNumbers变量中,内容被更改为987654321
,并且类opened
在numbers
div上切换。当我再次单击numbers-clicker
时,我正在尝试恢复原始的旧数字,因此123456789
到numbers
div,而是用987654321
覆盖旧数字。我们如何确保 oldNumbers 保持作为numbers
div 的开头内容,123456789
?
<div id="numbers-clicker">Clicker</div>
<div id="numbers">123456789</div>
$('#numbers-clicker').off('click').on('click',function(){
$this = $(this);
var oldNumbers = $('#numbers').html();
if(!$this.is('.opened')){
$('#numbers').html('987654321');
} else {
$('#numbers').html(oldNumbers);
}
$this.toggleClass('opened')
});
这是一个小提琴
你需要在
回调之外声明oldNumbers
:
var oldNumbers = $('#numbers').html();
$('#numbers-clicker').off(...);
干杯
您可以将旧值存储为标签的属性
$('#numbers').attr('data-old-numbers', oldNumbers )
并用
$('#numbers').attr('data-old-numbers')
$('#numbers-clicker').data('txt', $('#numbers').text()).on('click', function() {
$('#numbers').html($(this).is('.opened') ? '987654321' : $(this).data('txt'));
$(this).toggleClass('opened')
});
小提琴