javascript - 将元素动态推送到数组jquery

标签 javascript jquery arrays local-storage

我正在尝试将元素动态推送到数组。但是我的代码不起作用。我想在 jquery 中添加数组元素 onclick。当我推送一个元素时,它会被添加,但是当我尝试添加第二个元素时,第一个元素被删除,只添加第二个元素。无法动态添加元素。

这是我动态推送元素的代码:

$('#addItemFromAjax').click(function(){
var storage = '{"items":[]}';
var itemObject = JSON.parse(storage);
itemObject["items"].push({"name":data[0].name,"id":data[0].id});
localStorage.setItem('itemList', JSON.stringify(itemObject));
alert(localStorage.getItem('itemList'));
});

最佳答案

试试下面的代码。如果可用,它将首先使用 localStorage 列表,否则将对其进行初始化。

此外,您总是从 data 中推送第一个元素,因此可能需要根据您的要求进行更改!

$('#addItemFromAjax').click(function(){
 var storage = localStorage.getItem('itemList') || '{"items":[]}';
 var itemObject = JSON.parse(storage);
 itemObject["items"].push({"name":data[0].name,"id":data[0].id});
 localStorage.setItem('itemList', JSON.stringify(itemObject));
 alert(localStorage.getItem('itemList'));
});

关于javascript - 将元素动态推送到数组jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44276105/

相关文章:

javascript - 数字转换器不转换小数点后的数字

javascript - 启用和禁用输入

javascript - 如何让不喜欢按钮在喜欢后立即显示,反之亦然?在 Django 中

javascript - 如何在同一视频标签中流式传输不同摄像机

c++ - C++ 中的 vector 和结构

javascript - 使用 Gmail API 访问用户邮件列表

javascript - 如何在不刷新索引页的情况下刷新 DIV

c++ - 使用 C++ 将 char 数组转换为 int

javascript - 在 JavaScript 中添加数组

Javascript 和/或 jQuery 时间码格式