Javascript 添加的类不会被记住
我有一个带有2个按钮的导航,当点击一个按钮它将加载一个新页面(新页面加载),当点击按钮,一个选择了classname的类将被添加。。。 它部分地这样做-它添加了类,但是当它加载新页面时,类又被删除了?如何使类坚持用户单击的内容Javascript 添加的类不会被记住,javascript,jquery,Javascript,Jquery,我有一个带有2个按钮的导航,当点击一个按钮它将加载一个新页面(新页面加载),当点击按钮,一个选择了classname的类将被添加。。。 它部分地这样做-它添加了类,但是当它加载新页面时,类又被删除了?如何使类坚持用户单击的内容 $(document).on("click", ".list-mode button", function () { $(".list-mode button").removeClass("selected"); $(this).addClass("sel
$(document).on("click", ".list-mode button", function () {
$(".list-mode button").removeClass("selected");
$(this).addClass("selected");
});
如果要导航到新页面,则使用JavaScript对当前页面所做的更改不会显示在新页面中。您确实有三种选择:
您需要cookies或DOM存储来完成此操作 无论何时要放弃页面,您都需要将用户上次所做的事情存储在某个位置,并使用存储的设置初始化整个按钮 在使用jQuery时,处理
document.ready
事件,并在加载页面时初始化按钮:
$(document).ready(function() {
// Initialize the whole buttons
});
你不能。Javascript不会持久化状态。您将需要某种形式的存储跨HTTP请求选择的值(cookie、数据库、本地存储…)。您必须记住服务器上的类,并在显示下一页时将其写回OK,thx以获取答案-我通过使用本地存储保存用户来解决此问题。单击还有cookie选项。@T.J.Crowder当然,Cookie可以是选项1或2实现的一部分。我不认为有一个单独的选择,虽然他们自己;你仍然需要使用cookie。我更喜欢这里的选项2。这个答案可能会有帮助:“你需要cookies或DOM存储来实现这一点。”正如Anthony指出的,不一定,你可以将信息发送到服务器并保存在那里。@T.J.Crowder我更喜欢将其存储在浏览器中,而不是某个服务器会话状态。我们不知道实际的基本需求。我的意思是:也许当用户离开网站时,这种“跟踪”就会消失,那么为什么要用服务器内存来做这样的事情呢?@Matías:对。但是“需要”是一个很强的词,它排除了其他可能性。@NickyChristensen好吧,当我给你DOM存储的提示时,我说的是本地存储。我很高兴你找到了正确的解决方案@NickyChristensen现在我看到你检查了另一个答案是正确的。虽然您可以选择自己更喜欢的内容,但我相信,如果您使用本地存储解决了问题,这正是我在回答中指出的。