Javascript 如何将多个克隆的div添加到本地存储的阵列中,然后通过单击切换图标删除其中的每个div?

Javascript 如何将多个克隆的div添加到本地存储的阵列中,然后通过单击切换图标删除其中的每个div?,javascript,jquery,html,arrays,local-storage,Javascript,Jquery,Html,Arrays,Local Storage,每次我点击'a'标签=>('favorite')。。我想以父对象为目标,将整个div添加到数组中。这个“a”标记包含一个图标,可以在两个类之间切换,正如您在我的代码中看到的那样。当心被填满时,父对象将被克隆并添加到一个新的选项卡=>'#fav'。但是,正如我之前所说的,我也想将此对象添加到数组中,然后当心变空时,我只想从现有数组中删除此对象,并保留所有其他对象 所以基本上,问题是我不知道怎么做。将每个对象存储到本地存储中的阵列中,然后在需要时从阵列中删除每个对象,如上所述 如果有人能给我指出正确

每次我点击'a'标签=>('favorite')。。我想以父对象为目标,将整个div添加到数组中。这个“a”标记包含一个图标,可以在两个类之间切换,正如您在我的代码中看到的那样。当心被填满时,父对象将被克隆并添加到一个新的选项卡=>'#fav'。但是,正如我之前所说的,我也想将此对象添加到数组中,然后当心变空时,我只想从现有数组中删除此对象,并保留所有其他对象

所以基本上,问题是我不知道怎么做。将每个对象存储到本地存储中的阵列中,然后在需要时从阵列中删除每个对象,如上所述

如果有人能给我指出正确的方向,我将不胜感激

HTML:


要从阵列中删除div,请按照提供的工作流进行操作

 if (par.hasClass('selected').find('favorite').hasClass('fa-heart-o')) {
     var target = $(boxContent).html().replace(/\r?\\n/g, '').replace(/\\/g, '').replace(/^\[(.+)\]$/,'$1').replace (/(^")|("$)/g, '');;
     var targetArr = $.parseJSON(localStorage.getItem('sessions'));
     var index = targetArr.indexOf(target);
     targetArr.splice(index,1);
     var targetString = JSON.stringify(targetArr);
     localStorage.setItem('sessions',targetString);         
 };

你所面临的似乎是什么问题。你一个问题也没问。对不起,我解释得不好。我不知道我是否正在将对象推送到数组中,以便以后可以移除某个对象。因此,如上所述,当单击“a”标记时,它将根据toggle类从数组中添加或删除父div。我希望这是有意义的@DanPhilipHave你已经解决了推进部分,Div被正确地推到阵列中了吗?非常感谢,这正是我需要的@DanPhilip@FranciscoFigueira很乐意帮忙!
$('.favorite').on('click', function(){

  var par = $(this).parents('.box');

  //TOGGLE FONT AWESOME ON CLICK
  if ($(par).hasClass('selected')) {
    par.find('.favorite i').toggleClass('fa-heart fa-heart-o');
  } else {
    par.find('.favorite i').toggleClass('fa-heart-o fa-heart');
  };

  // Clone div
  var add = $(this).parent().parent();
  add.each(function(){
    if (par.find('.favorite i').hasClass('fa-heart')) {

      var boxContent = ($(add).clone(true));
      var showHide = $(boxContent).find(".session").addClass('selected').removeClass('hidden-m');
      var get = $(boxContent).html();

      // Localstorage
      var temp = localStorage.getItem('sessions');

      // Array with cloned divs
      var tempArray = [];

      tempArray.push(get);

      var myJSONString = JSON.stringify(tempArray);

      var parseString = $.parseJSON(myJSONString);

      var finalString = myJSONString.replace(/\r?\\n/g, '').replace(/\\/g, '').replace(/^\[(.+)\]$/,'$1').replace (/(^")|("$)/g, '');

      var myJSONString = localStorage.setItem('sessions', finalString);

    } else if (par.hasClass('selected').find('favorite').hasClass('fa-heart-o')) {
      // remove div from array
    };

  });
});

// Append item if localstorage is detected
if (localStorage['sessions']) {
    $("#fav").append(tempArray);
};
 if (par.hasClass('selected').find('favorite').hasClass('fa-heart-o')) {
     var target = $(boxContent).html().replace(/\r?\\n/g, '').replace(/\\/g, '').replace(/^\[(.+)\]$/,'$1').replace (/(^")|("$)/g, '');;
     var targetArr = $.parseJSON(localStorage.getItem('sessions'));
     var index = targetArr.indexOf(target);
     targetArr.splice(index,1);
     var targetString = JSON.stringify(targetArr);
     localStorage.setItem('sessions',targetString);         
 };