账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JS sessionStorage本地存储
    38
    0

    html代码:

        <div id="result"></div>

    JS代码:

      $(".lv-ticketUl").on("click", "a", function () {
        if (typeof(Storage) !== "undefined") {
            console.log("支持 Web Storage ..");
            var obj = {
                "trainNo": $(this).attr("data-trains"),
                "trainFrom": $(this).attr("data-from")
            };
            obj = JSON.stringify(obj);
            sessionStorage.setItem("temp", obj);
            obj=JSON.parse(sessionStorage.getItem("temp"));
            document.getElementById("result").innerHTML = obj.trainNo;
        } else {
            console.log("抱歉!不支持 Web Storage ..")
        }
    });
    
    问题:JS click事件获取a标签上自定义的data数据,存放在obj里面,我使用了sessionStorage本地存储,获取obj对应的值。
    第一次点击a标签,document.getElementById("result").innerHTML = obj.trainNo;这段代码在页面中打印出了我需要的值,有个问题,当我点击另一个a标签的时候,页面不会更新第二次点击的储存的值,还是第一次的值,应该是sessionStorage这个API的自身的属性。
    我在查看sessionStorage的API方法时,[链接描述][1]https://www.cnblogs.com/polk6/p/5512979.html,使用其方法没有解决需求问题。

    我想切换点击不同的a标签时获取不同的。 请问下是哪个细节的原因?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • :+酷::b 普通会员 1楼

      sessionStorage 是 HTML5 引入的一个特性,用于在客户端存储数据。在 JavaScript 中,你可以使用 sessionStorage 来存储一些数据,例如用户的登录状态、密码等。 以下是一个简单的例子,展示如何使用 sessionStorage 存储数据:

      ```javascript // 在HTML中设置sessionStorage sessionStorage.setItem("username", "John Doe"); sessionStorage.setItem("password", "123456");

      // 在JavaScript中获取sessionStorage var username = sessionStorage.getItem("username"); var password = sessionStorage.getItem("password");

      // 输出结果 console.log(username); // 输出 "John Doe" console.log(password); // 输出 "123456" ```

      注意,sessionStorage 的数据不会在浏览器的历史记录中保存,所以如果要保存长期的数据,你可能需要使用其他方法,例如使用 localStorage。 此外,sessionStorage 的数据只能存储在客户端,不能存储在服务器端,所以如果你需要存储一些持久化的数据,你可能需要使用其他方法,例如使用 localStorage

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部