我在li里面贴了一个标签。当用户点击时,调用jquery函数来改变其样式
$(".sortLabelElement").click(function () {
$(this).addClass("ActiveSortLabel");
});
.ActiveSortLabel{
font-weight: bold;
text-decoration: none;
background-color:#C6E035;
}
我需要将此类附加到标记,直到被同一ul列表中的另一个标记单击。我的问题是当我点击这个标签链接时,表单是帖子和页面重新加载,在这种情况下,我失去了ActiveSortLabel来给出一个标签。
<li><a value="Recommended" class="sortLabelElement sortTag sortClickedEvent">Our Recommendation</a></li>
localStorage.setItem('ActiveSortLabel', $(this).attr("id"));
答案 0 :(得分:1)
使用会话存储而不是本地存储。
会话存储在关闭浏览器选项卡时到期。本地存储在您的驱动器上存储物理缓存数据,没有到期日期,直到用JavaScript删除或浏览器缓存被清除。
//Example below will clear once browser tab is exited.
sessionStorage.setItem('ActiveSortLabel', $(this).attr("id"));
// FYI如果用户在没有关闭的情况下切换标签,则以下代码行将清除存储空间。
$(window).blur(function(){
sessionStorage.clear();
})