javascript - 如何删除本地存储中的数据

标签 javascript php jquery local-storage

我需要什么

  • 我需要在点击时切换图像。
  • 例如,如果用户选择最喜欢的选项,那么它会标记不喜欢的图像已更改,并且数据将从 localstoarge 中删除。

html代码

<div  style="display:block; float:right; width:auto; color:#7c7c7c;">
    <a href="javascript:void(0);" class="favourate_dextop" id="fav'.$data[$k]['id'].'"  onClick=" favaorite('.$data[$k]['id'].',\''.$name_event.'\',\''.$event_city.'\',\''.$event_country.'\',\''.$event_urls.'\',this)"></a>
</div>

js代码

function favaorite(sess_id,name,city,country,event_url,pointer){

    var eventData;
    //is anything in localstorage?
    if (localStorage.getItem('eventData') === null) {
        eventData = [];
    } else {
        // Parse the serialized data back into an array of objects
        eventData = JSON.parse(localStorage.getItem('eventData'));
        //alert(eventData);
        $.each(eventData, function(key, value){
            //console.log(value);
            var  imageUrl='http://im.gifbt.com/images/star1_phonehover.png';
            //var  imageUrl='http://im.gifbt.com/images/star1_phone.png';

            $(pointer).closest('.evt_date').find('.favourate_dextop').css('background-image', 'url("' + imageUrl + '")');
            //$(pointer).closest('.evt_date').find('.favourate_dextop').css('background-image', 'url("' + imageUrl + '")');
        });

    }
    var details={};

    details.sess_id=sess_id;
    details.name=name;
    details.city=city;
    details.country=country;
    details.event_url=event_url;

    // Push the new data (whether it be an object or anything else) onto the array
    eventData.push(details);

    // Alert the array value
    //alert(eventData);  // Should be something like [Object array]
    // Re-serialize the array back into a string and store it in localStorage
    var jsondata=localStorage.setItem('eventData', JSON.stringify(eventData));


}

问题

  • 我是本地存储新手,我需要知道如何从 json 字符串中删除数据。
  • 我已经实现了添加到收藏夹,现在我需要标记为不收藏

数据存储:

[{
    "sess_id":182104,
    "name":"AUTOMECH FORMULA",
    "city":"Cairo",
    "country":"Egypt",
    "event_url":"automech-formula"
},]

最佳答案

要从本地存储中删除数据,请使用localStorage.removeItem('itemNam')

示例

localStorage.setItem('name','hello');

从您使用的 localStorage 中删除名称项目

localStorage.removeItem('name');

但是如果您的问题是如何从 JSON 对象中删除数据,那么您有两种方法

1:改变原来的json对象

删除originalJson.attributeName

   originalJson = {name:'myname',age:30};//our object to test with

示例:

   delete originalJson.age //in this case originalJson.age is no more available

2:不要更改原始对象并制作另一个副本

originalJson2 = JSON.stringify(originalJson);
  originalJson2 = JSON.parse(originalJson2);
  delete originalJson2.age //originalJson.age is available but originalJson2.age is not available

这是:jsfiddle

关于javascript - 如何删除本地存储中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259706/

相关文章:

javascript - jQuery 如果不起作用?

javascript - 如何使用 jquery 更改文本颜色

javascript - ajax:如何从数据库获取数据到html?

php - 显示所有错误和警告

javascript - 用从某个 URL 检索到的数据替换整个 html-body 内容

javascript - 在iframe中触发 "click"事件

javascript - iOS 11 - 独立的网络应用程序链接打开默认反转? (处理 Web 应用程序中的 PDF 显示。)

javascript - Flask 服务器发送事件套接字异常

php - 使用 xslt 转换将 xml 转换为 html

PHP MySQL通过html形式插入查询,参数不通过