JavaScript localStorage在首次单击时不工作

JavaScript localStorage在首次单击时不工作,javascript,jquery,html,local-storage,Javascript,Jquery,Html,Local Storage,我有一个名为category.html的页面。我试图将category的值存储在JavaScript本地存储中,以便将其传递到下一个html页面。我试图将单元格中的clicked元素作为localStorage中category变量的值传递,但在第一次单击时不会这样做。它在第一次点击后工作。我做错了什么 函数存储(){ var display=document.getElementById(“结果”); $(“a”)。单击(函数(){ var nameOfCategory=$(this.at

我有一个名为category.html的页面。我试图将category的值存储在JavaScript本地存储中,以便将其传递到下一个html页面。我试图将单元格中的clicked元素作为localStorage中category变量的值传递,但在第一次单击时不会这样做。它在第一次点击后工作。我做错了什么


函数存储(){
var display=document.getElementById(“结果”);
$(“a”)。单击(函数(){
var nameOfCategory=$(this.attr(“categoryName”);
nameOfCategory=字符串(nameOfCategory);
if(类型(存储)!=“未定义”){
//贮藏
setItem(“类别”,类别名称);
//取回
var checkLocalStorage=localStorage.getItem(“类别”);
display.innerHTML=“checkLocalStorage变量的值:“+checkLocalStorage+”
”; //log(“checkLocalStorage变量的值:“+checkLocalStorage”); }否则{ displayMessage.innerHTML=“对不起,您的浏览器不支持Web存储…”+“
”; //log(“对不起,您的浏览器不支持Web存储…”); } display.innerHTML+=“nameOfCategory变量的值:“+nameOfCategory+”
”; //log(“nameOfCategory变量的值:“+nameOfCategory”); });//结束.click函数 } 类别 水果 蔬菜 衣裳
只有在调用store之后,您才能注册单击事件。将调用存储,将设置事件,然后单击事件将起作用,请尝试以下操作:

$(文档).ready(函数(){
var display=document.getElementById(“结果”);
$(“a”)。单击(函数(){
var nameOfCategory=$(this.attr(“categoryName”);
nameOfCategory=字符串(nameOfCategory);
if(类型(存储)!=“未定义”){
//贮藏
setItem(“类别”,类别名称);
//取回
var checkLocalStorage=localStorage.getItem(“类别”);
display.innerHTML=“checkLocalStorage变量的值:“+checkLocalStorage+”
”; //log(“checkLocalStorage变量的值:“+checkLocalStorage”); }否则{ displayMessage.innerHTML=“对不起,您的浏览器不支持Web存储…”+“
”; //log(“对不起,您的浏览器不支持Web存储…”); } display.innerHTML+=“nameOfCategory变量的值:“+nameOfCategory+”
”; //log(“nameOfCategory变量的值:“+nameOfCategory”); });//结束.click函数 });
这是因为您将其作为函数
store()
并在单击

函数activateLink(){
$(“a”)。单击(函数(事件){
event.preventDefault();
var display=document.getElementById(“结果”);
var nameOfCategory=$(this.attr(“categoryName”);
nameOfCategory=字符串(nameOfCategory);
if(类型(存储)!=“未定义”){
//贮藏
setItem(“类别”,类别名称);
//取回
var checkLocalStorage=localStorage.getItem(“类别”);
display.innerHTML=“checkLocalStorage变量的值:“+checkLocalStorage+”
”; //log(“checkLocalStorage变量的值:“+checkLocalStorage”); }否则{ displayMessage.innerHTML=“对不起,您的浏览器不支持Web存储…”+“
”; //log(“对不起,您的浏览器不支持Web存储…”); } display.innerHTML+=“nameOfCategory变量的值:“+nameOfCategory+”
”; //log(“nameOfCategory变量的值:“+nameOfCategory”); });//结束.click函数 } 激活酶();
没错,@JonathanLonowski我只是认为这是暗示。我将更新代码以反映这一变化。
$(document).ready(function() {
    var display = document.getElementById("result");
    $("a").click(function() {
        var nameOfCategory = $(this).attr("categoryName");
        nameOfCategory = String(nameOfCategory);
        if (typeof(Storage) !== "undefined") {
            // Store
            localStorage.setItem("category", nameOfCategory);
            // Retrieve
            var checkLocalStorage = localStorage.getItem("category");
            display.innerHTML = "Value of checkLocalStorage variable: " + checkLocalStorage + "<br>";
            //console.log("Value of checkLocalStorage variable: " + checkLocalStorage);
        } else {
            displayMessage.innerHTML = "Sorry, your browser does not support Web Storage..." + "<br>";
            //console.log("Sorry, your browser does not support Web Storage...");
        }
        display.innerHTML += "Value of nameOfCategory varaible: " + nameOfCategory + "<br>";
        //console.log("Value of nameOfCategory varaible: " + nameOfCategory);
    }); // end of a.click function
});