Javascript 将元素动态推送到数组jquery

Javascript 将元素动态推送到数组jquery,javascript,jquery,arrays,local-storage,Javascript,Jquery,Arrays,Local Storage,我正在尝试将元素动态地推送到数组中。但是我的代码不起作用。我想在jquery中添加数组元素onclick。当我推一个元素时,它会被添加,但当我试图添加第二个元素时,第一个元素会被删除,而只有第二个元素会被添加。无法动态添加元素 这是我动态推送元素的代码: $('#addItemFromAjax').click(function(){ var storage = '{"items":[]}'; var itemObject = JSON.parse(storage); itemObject["it

我正在尝试将元素动态地推送到数组中。但是我的代码不起作用。我想在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列表(如果可用),否则将对其进行初始化

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

$('#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'));
});

在click函数之外声明数组并尝试它。我想每次单击时,数组都是initialized@Balu对于meI来说,这种方式不起作用,这意味着在处理click函数的js文件中声明全局级别的数组。