1

我有 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看不到存储新值。

我怎样才能做到这一点?

4

3 回答 3

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>
于 2013-07-26T14:56:37.713 回答
4

我想你想做的是:

<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>

现场演示

于 2013-07-26T14:56:51.540 回答
2

您设置值的 html 很好,但我不知道为什么使用setItem()之前使用,getItem()因为这会清除值。您需要在脑海中提醒的值id如下:

var id = sessionStorage.getItem("id");
alert(id);

jsFiddle

(只需重新运行小提琴即可查看点击结果)

于 2013-07-26T14:56:37.797 回答