Javascript 如果localStorage对象为空,则删除localStorage
如果我有这样一个localStorage对象:Javascript 如果localStorage对象为空,则删除localStorage,javascript,local-storage,Javascript,Local Storage,如果我有这样一个localStorage对象: 键:jpxun 值:[{“id”:“0”,“name”:“juicy.stingy”}] 然后,我可以通过以下任一路径删除: localStorage.clear() localStorage.removietem('jpxun') 我有以下代码,用于添加或删除本地存储项: var lists = document.querySelectorAll('.list'); // if lists is not empty if (lists.le
- 键:
jpxun
- 值:
[{“id”:“0”,“name”:“juicy.stingy”}]
localStorage.clear()代码>
localStorage.removietem('jpxun')代码>
var lists = document.querySelectorAll('.list');
// if lists is not empty
if (lists.length) {
lists.forEach(list => {
list.addEventListener('click', e => {
if (!e.target.id) return;
var id = e.target.id;
var item = e.target;
var temp = jpxun_length++;
var newCt = "" + temp + ""; // need to wrap ID in speech marks to get delete element functionality to work
var findme = jpxun.findIndex(e => e.name == id);
// add word to localStorage
if (findme == -1) {
jpxun.push({ id: newCt, name: id });
item.className = 'fav';
var elem = document.getElementById('success');
elem.removeAttribute('disabled');
elem.removeAttribute('style');
// remove word from localStorage
} else {
jpxun.splice(findme, 1)
item.className = 'nofav';
// recount elements
var re_count = jpxun.length;
if (re_count == 0) {
// delete jpxun localStorage
localStorage.clear();
// if elements are empty, make the fav button inactive
document.getElementById('success').setAttribute("disabled" , true);
}
}
localStorage.setItem('jpxun', JSON.stringify(jpxun));
});
});
}
如果我已从localStorage中删除了最后一项,则它如下所示:
- 键:
jpxun
- 值:
[]
localStorage.clear();
localStorage.removeItem('jpxun');
我也尝试过删除localStorage:
localStorage.clear();
localStorage.removeItem('jpxun');
如果我在浏览器控制台中输入代码,这两个选项都可以使用,但是当从代码位调用以删除localStorage项时,当遇到以下行时,这两个选项都不会删除jpxun
:
if (re_count == 0) {
// delete jpxun localStorage
localStorage.clear();
// if elements are empty, make the fav button inactive
document.getElementById('success').setAttribute("disabled" , true);
}
为什么会这样?我可以解决这个问题吗?这个:
localStorage.setItem('jpxun',JSON.stringify(jpxun))代码>在其他
中的.removietem()
之后运行。因此,您正在将它们添加到localStorage项中。