首页 > 解决方案 > 使用 Cookie 记录 [.load] 单击 3 次后替换元素

问题描述

我编写了简单的 jquery 代码,在单击 3 次后用 urls 代码替换特定元素。超过 3 次点击后,它会用 urls 代码替换元素。使用 .load("")。但是之后,我刷新页面元素返回到其默认状态,未替换。我怎么可能让网络服务器记住更改。无论是在数据库中还是在 Cookie、sessionStorage、localStorage 中。

var count = 0;

$(document).ready( function () {
    $("#id-2").on("click", function(){
    count++;
    if(count == 3)
        $("#id-2").load("yoinkexecutor2.html");
    });
});

所有,我想要的是元素在点击它 3 次后保持替换为 urls 代码,并且在刷新页面后不改变回来。

标签: javascriptjqueryhtmlreplaceelement

解决方案


您可以使用 localStorage 或 Cookies。

var count = parseInt(localStorage.getItem("count"), 10) || 0;
function loadMyPage() {
    if (count >= 3)
        $("#id-2").load("yoinkexecutor2.html");
    }
}

$(document).ready( function () {
    loadMyPage();
    $("#id-2").on("click", function() {
        localStorage.setItem("count", count += 1);
        loadMyPage();
    });
});

请记住 localStorage(和 Cookie)仅将值存储为字符串,因此 parseInt。此外,它会在后续点击后继续加载您的 .html 页面,您可能希望删除点击处理程序,或删除 #id-2 元素。


推荐阅读