Javascript 会话存储返回null
我试图实现这段代码,但在我的控制台中,它说东西是空的,这很奇怪,因为当我在控制台中查看时,sessionStorage不是空的Javascript 会话存储返回null,javascript,jquery,null,Javascript,Jquery,Null,我试图实现这段代码,但在我的控制台中,它说东西是空的,这很奇怪,因为当我在控制台中查看时,sessionStorage不是空的 $(".btn-alert").click(function(){ var identifierOfSpan = $(this > "span").text(); for(var prop in sessionStorage){ var thing = JSON.parse(sessionStorage.ge
$(".btn-alert").click(function(){
var identifierOfSpan = $(this > "span").text();
for(var prop in sessionStorage){
var thing = JSON.parse(sessionStorage.getItem(prop))
if(thing.id == identifierOfSpan){
sessionStorage.removeItem(prop);
}
}
$(this).closest(".voyages").remove();
if(sessionStorage.length == 0){
alert("Message!");
location.href="reservation.html"
}
});
该按钮应该删除div和sessionStorage项,如下所示
Html:
<div class="voyages">
<button class="btn btn-alert btn-md mr-2" tabindex="-1">delete the flight</button>
<span>ID : 4224762</span>
<div class="infos">
<img src="img/angleterre.jpg" alt="maroc">
<div>
<ul>
<li><h5>Angleterre, Londres (LON)</h5></li>
<li><h5>2 adulte(s)</h5></li>
<li><h5> Aucun enfants </h5></li>
<li><h5>Type : Couple</h5></li>
</ul>
</div>
</div>
<hr>
<h3>Options</h3>
<ul>
<li>voiture : 0</li>
<li>Hotel : 0 </li>
</ul>
<hr>
<h3>Prix :3713$</h3>
删除航班
身份证号码:4224762
- 朗德雷斯安格尔特尔(伦敦)
- 2个成人
- 奥村儿童
- 类型:夫妇
选择权
- 投票:0
- 酒店:0
大奖赛:3713$
如果我没看错你的问题,你想
元素并从其文本内容中解析一个数字id
属性的sessionStorage
项(JSON序列化对象)
添加一些数据,以帮助您识别正确的记录。如果可以的话,试试类似的方法
<button class="btn btn-alert btn-md mr-2" data-voyage="4224762"...
在
sessionStorage
上使用for..in
循环的问题在于,您不仅可以添加任何项目键,而且还可以
长度
键
getItem
setItem
removietem
清除
for..in
与会话存储一起使用。如果要迭代,请使用key()
来代替~另外,这意味着要计算什么<代码>$(此>“span”)
。这可能永远是$(false)
,这不会让你走得太远。你的代码很棒,但有些细节你不了解,我试图单击按钮删除一个div,并删除sessionStorage中与span id匹配的对象,因此如果第一个id为2,则应删除sessionStorage中具有id的项目:2@PostMaloneM3m3r我不知道我怎么会错过这些。带“和您代码的其余部分”的部分是您将删除
@PostMaloneM3m3r的部分。我现在已将您代码的其余部分包含在我的答案中。希望如此clear@PostMaloneM3m3r“它不起作用”这个词太宽泛了,不能用。它到底是怎么不起作用的?你做了什么调试?也许
的文本内容并不完全正确。例如,您可能需要修剪它(我将更新我的答案)。你可以在你的问题中提供相关的HTML,我会编辑我的代码来添加HTML,这样你就会明白我想做什么