Javascript 如何撤消类更改并在html表中存储类数据

Javascript 如何撤消类更改并在html表中存储类数据,javascript,jquery,html,css,Javascript,Jquery,Html,Css,仅当其类是可擦除的(可以擦除)classstyle1)时,我才想undo) 在我的代码中,我可以undo,但我无法区分它们。似乎class必须存储在某些数组中 如果有人有什么想法,请告诉我 var$=jQuery; var样式=“”; 让点击=[]; $('.click_btn')。在('click',函数(e){ e、 预防默认值(); style=$(this.data().style); }) $('.click_td')。在('click',function()上{ $(this).r

仅当其类是可擦除的(
可以擦除)
class
style1
)时,我才想
undo

在我的代码中,我可以
undo
,但我无法区分它们。似乎
class
必须存储在某些数组中

如果有人有什么想法,请告诉我

var$=jQuery;
var样式=“”;
让点击=[];
$('.click_btn')。在('click',函数(e){
e、 预防默认值();
style=$(this.data().style);
})
$('.click_td')。在('click',function()上{
$(this).removeClass('style1 style2').addClass(style)
单击edid=$(this.attr('id');
点击。推送(点击edid);
console.log(单击);
})
$(“#撤消”)。在('单击',函数()上{
如果(单击。长度){
让lastClicked=clicked.pop();
$(`td#${lastClicked}')。removeClass();
}
})
.style1{
背景:rgb(255,0255);
边界半径:5px;
}
.style2{
背景:rgb(0,255,255);
边界半径:5px;
}

颜色
颜色2
颜色3
颜色4
颜色5
可以擦除
无法擦除

undo
我稍微更改了您的undo函数,我正在检查最后单击的元素是否具有类
style1
,如果元素具有此类,则应将其删除

  $("#undo").on('click',function() {
    if(clicked.length) {
      let lastClicked = clicked.pop();
      if ($('#' + lastClicked).hasClass('style1')) {
         $('#' + lastClicked).removeClass('style1')
      }
    }
在这里拉小提琴:

希望这能回答你的问题:)