我想要删除该特定行上localstorage中的值,以便即使用户刷新页面也不会返回。
我的问题是它不会删除我想删除的特定行的localstorage值。
当前输出:http://jsfiddle.net/4GP2h/75/
$(document).on('click', '.delete', function () {
var row = $(this).closest('tr');
oTable.row(row).remove().draw();
localStorage.removeItem(row);
});
答案 0 :(得分:1)
不是很好,但是基于比较姓名,年龄和性别的工作示例:
$(document).on('click', '.delete', function () {
var row = $(this).closest('tr');
oTable.row(row).remove().draw();
var rowElements = row.find("td");
for (var i = 0; i < dataSet.length; i++) {
var equals = true;
for (var j = 0; j < 3; j++) {
if (dataSet[i][j] != rowElements[j].innerHTML) {
equals = false;
break;
}
}
if (equals) {
dataSet.splice(i, 1);
break;
}
}
localStorage.setItem('dataSet', JSON.stringify(dataSet));
});
答案 1 :(得分:0)
您需要确认该值与关键行一起存储。
LocalStorage是一个键值存储。键和值都必须是字符串。这里的行是一个DOM对象,可能不是密钥。
通常,大型对象是JSON.strigify,并保存在本地存储中。在这种情况下,您需要解析该对象,删除您不想要的一个属性并覆盖现有的键值对。
答案 2 :(得分:0)
清除本地存储设置,您需要调用localStorage.remove('key');其中'key'是您要删除的值的键。如果要清除所有设置,则需要调用localStorage.clear()方法。