为唯一 ID 添加 Localstorage 项目

Adding Localstorage item for unique IDs

我想知道是否可以使用 Javascript 为项目设置 LocalStoarge 以隐藏它们。

要注意的是,它们在生成的 ID 属性中有唯一的 ID,因此您不知道它们可能是什么,但是如果您单击删除按钮,它应该设置一个项目并将其隐藏为具有该特定项目的特定项目编号:

<div class="'.$contact_id.'-chat" id="'.$contact_id.'">
 <button onclick="deleteChat(this)">X</button>
</div>

你可以这样做:

<div class="1-chat" id="'.$contact_id.'">
  <button onclick="deleteChat('.$contact_id.')">X</button>
</div>
window.onload = deleteChats();

function deleteChat(id){
  document.getElementById(id).style.display = "none"
  let items = JSON.parse(localStorage.getItem("deleted_items"));
  if(items){
    items.push(id);
  }
  else{
    items = [id];
  }
  localStorage.setItem("deleted_items",JSON.stringify(items));
}

function deleteChats(){
  const chats = JSON.parse(localStorage.getItem("deleted_items"));
  chats.map(chat => {
    document.getElementById(chat).display = "none";
  })
}

Js Fiddle Link 看看这个

隐藏本地存储中的所有 ID

window.onload = function() {
 allStorage().map(id => {
      $("#"+id).hide();
  })
}

获取本地存储中的所有id

 function allStorage() {
    var values = [],
        keys = Object.keys(localStorage),
        i = keys.length;
    while ( i-- ) {
        values.push( localStorage.getItem(keys[i]) );
    }
    return values;
}

从 class 获取 ID,隐藏 div 并在本地存储中设置一个项目

$('.del').on('click', function(event) {
       $("#"+this.id).hide();
       window.localStorage.setItem("id"+this.id, this.id)
})