在localStorage中存储新值之前需要检查重复项。
Here's a working fiddle除了那之外,它还能做我需要的一切。
请随意建议您看到的任何其他方式,以帮助我改善 - 仍在学习。
以下是小提琴中代码的一部分:
("button#save").click(function () {
var id = $("#id").val();
if (id != "") {
var text = 'http://' + id + '.tumblr.com';
} else {
alert('empty');
return false
}
// UPDATE
var result = JSON.parse(localStorage.getItem("blog"));
if (result == null) result = [];
result.push({
id: id,
tumblr: text
});
// SAVE
localStorage.setItem("blog", JSON.stringify(result));
// APPEND
$("#faves").append('<div class="blog"><button class="del" id=' + id + '>x</button><a target="_blank" href=' + text + '>' + imgstem + id + imgstemclose + '</a></div>');
});
// INIT
var blog = JSON.parse(localStorage.getItem("blog"));
var stem = 'http://'
var stemclose = '.tumblr.com';
var imgstem = '<img src="http://api.tumblr.com/v2/blog/'
var imgstemclose = '.tumblr.com/avatar/48"/>'
//console.log(blog[0].id);
if (blog != null) {
for (var i = 0; i < blog.length; i++) {
var item = blog[i];
var text = 'http://' + item.id + '.tumblr.com';
$("#faves").append('<div class="blog"><button class="del" id=' + item.id + '>x</button><a href=' + text + '>' + imgstem + item.id + imgstemclose + '</a></div>');
}
}
$('#faves').on('click', 'button.del', function (e) {
var id = $(e.target).attr('id');
// UPDATE
var blog = JSON.parse(localStorage.getItem("blog"));
var blog = blog.filter(function (item) {
return item.id !== id;
});
// SAVE
localStorage.setItem("blog", JSON.stringify(blog));
// REMOVE
$(e.target).parent().remove();
});
答案 0 :(得分:2)
查看一个非常简单的实现
$("button#save").click(function () {
var id = $("#id").val();
if (id == "") {
alert('empty');
return false
}
// UPDATE
var result = JSON.parse(localStorage.getItem("blog")) || [];
var loc = result.filter(function (item) {
return item.id === id;
});
if (loc.length) {
return;
}
var text = 'http://' + id + '.tumblr.com';
result.push({
id: id,
tumblr: text
});
// SAVE
localStorage.setItem("blog", JSON.stringify(result));
// APPEND
$("#faves").append('<div class="blog"><button class="del" id=' + id + '>x</button><a target="_blank" href=' + text + '>' + imgstem + id + imgstemclose + '</a></div>');
});
演示:Fiddle