为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

江户川乱折腾 2022-05-26 15:40:46
我undo只想在它的类是可擦除的(can be erased类style1)的情况下在我的代码中,我可以undo但我无法区分它们。它似乎class必须存储在某些数组中。如果有人有什么想法,请告诉我。var $ = jQuery;var style ='';let clicked=[];$('.click_btn').on('click', function(e) {  e.preventDefault();  style = $(this).data().style;}) $('.click_td').on('click', function(){  $(this).removeClass('style1 style2').addClass(style)   let clickedID=$(this).attr('id');   clicked.push(clickedID);   console.log(clicked); })   $("#undo").on('click',function() {    if(clicked.length) {      let lastClicked = clicked.pop();      $(`td#${lastClicked}`).removeClass();    }  }).style1 {  background: rgb(255, 0, 255);  border-radius: 5px;}.style2 {  background: rgb(0, 255, 255);  border-radius: 5px;}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><table>  <tr>    <td class="click_td" id=0>color</td>    <td class="click_td" id=1>color 2</td>    <td class="click_td" id=2>color 3</td>    <td class="click_td" id=3>color 4</td>    <td class="click_td" id=4>color 5</td>  </tr></table><button class="click_btn" data-style="style1">can be erased</button><button class="click_btn" data-style="style2">cannot be erased</button><button id="undo">undo</button>
查看完整描述

1 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

我稍微更改了您的撤消功能,我正在检查最后一次单击的元素是否具有类style1,如果元素具有该类,则应将其删除。


  $("#undo").on('click',function() {

    if(clicked.length) {

      let lastClicked = clicked.pop();

      if ($('#' + lastClicked).hasClass('style1')) {

         $('#' + lastClicked).removeClass('style1')

      }

    }

在这里摆弄:https ://jsfiddle.net/cznfyrsx/1/


查看完整回答
反对 回复 2022-05-26
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号