我正在尝试将元素动态推送到数组。但是我的代码不起作用。我想在 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/