我想检查localstorage中是否存在<li>
的ID以提醒...
例如,li有id,例如item-1,item-2,item-3等。在localstorage中有一个名为 id 的值,它获取一个具有相同名称的字符串: item-1,item-2,item-3。我想检查,当我点击带有id item-2的li时,如果item-2存在于localstorage中以进行相应的警告。
这是我的HTML:
<ul id="bxs" class="tabs">
<li id="item-1">1</li>
<li id="item-2">2</li>
<li id="item-3">3</li>
<li id="item-4">4</li>
<li id="item-5">5</li>
</ul>
... etc
这就是我的本地存储的样子:
Key: result
Value: [{"id":"item-1","href":"google.com"},{"id":"item-2","href":"youtube.com"}]
等
我按照以下方式添加列表:
var result = JSON.parse(localStorage.getItem("result"));
if(result != null) {
for(var i=0;i<result.length;i++) {
var item = result[i];
$("#bxs").append($("<li></li>").attr("id", item.id).html(item));
}
}
我希望,当我点击<li>
时,检查他们的ID是否在localstorage中作为“ id ”存在,并相应提醒。像这样:
$("#bxs").on('click', 'li',function() {
// if exists alert('exists') else alert('doesn't exists')
});
我试过了,但它始终警告它不存在:
var result = JSON.parse(localStorage.getItem("result"));
if(result != null) {
for(var i=0;i<result.length;i++) {
var item = result[i];
if(item.id != null) {
alert('doesnt exists');
}else {
alert('exists');
}
}
}
答案 0 :(得分:3)
你在这里
$("#bxs").on('click', 'li',function() {
var exists = false
for(var i=0;i<result.length;i++) {
var item = result[i];
if(item.id == $(this).prop("id")) {
exists = true;
break;
}
}
if(exists) {
alert("exists");
}
else {
alert("doesn't exists");
}
});