我有4个div,根据用户点击的内容,我想在每个div上设置一个变量,然后我想用sessionStorage保存它。
<div id="1" onClick="sessionStorage.id=1">Select Me as 1</div>
<div id="2" onClick="sessionStorage.id=2">Select Me as 2</div>
<div id="3" onClick="sessionStorage.id=3">Select Me as 3</div>
<div id="4" onClick="sessionStorage.id=4">Select Me as 4</div>
然后在我添加的<head></head>
区域:
sessionStorage.setItem("id", "");
sessionStorage.getItem("id");
alert(id);
我的问题是值没有变化,onclick
看不到存储新值。
我该怎么做?
答案 0 :(得分:4)
查看此演示:
<div id="1" onClick="sessionStorage.id=1">Select Me as 1</div>
<div id="2" onClick="sessionStorage.id=2">Select Me as 2</div>
<div id="3" onClick="sessionStorage.id=3">Select Me as 3</div>
<div id="4" onClick="sessionStorage.id=4">Select Me as 4</div>
<button onclick="alert(sessionStorage.getItem('id'))">Check Session Value</button>
答案 1 :(得分:3)
我想你想做的是:
<div id="1" onClick="sessionStorage.setItem('id', '1')">Select Me 1</div>
<div id="2" onClick="sessionStorage.setItem('id', '2')">Select Me 1</div>
<div id="3" onClick="sessionStorage.setItem('id', '3')">Select Me 1</div>
<div id="4" onClick="sessionStorage.setItem('id', '4')">Select Me 1</div>
<button onClick="alert(sessionStorage.getItem('id'))">click to alert</button>
答案 2 :(得分:2)
您设置值的html很好,但我不知道为什么在setItem()
之前使用getItem()
,因为这会清除值。您需要在头脑中提醒id
的价值如下:
var id = sessionStorage.getItem("id");
alert(id);
(只需重新运行小提琴即可查看点击结果)