【发布时间】:2016-08-23 21:30:52
【问题描述】:
我试图在页面刷新/页面加载后保留 toggleClass 值。但它不起作用。我有一个分层表,单击时会在其中切换行。我使用localStorage 来保留切换值,但是当页面刷新时,它不记得以前的状态了。
我的点击事件是 -
$('tr.' + 1).toggleClass('hidden'); // Class value I am getting dynamically
localStorage.setItem('hdnvalue', 'hidden');
在文档中准备好 -
$(document).ready(function () {
if (localStorage.getItem('hdnvalue') == 'hidden') {
alert(localStorage.getItem('hdnvalue'));
$('tr.' + 1).toggleClass('hidden'); // I am getting class value dynamically, here 1 is the class level
}
});
更新:
HTML 示例 -
<table id="tbl_test">
<tr class="1">
<td>Row 1</td>
</tr>
<tr class="2">
<td>Row 1.1</td>
</tr>
<tr class="3">
<td>Row 1.1.1</td>
</tr>
<tr class="3">
<td>Row 1.1.2</td>
</tr>
<tr class="1">
<td>Row 2</td>
</tr>
<tr class="2">
<td>Row 2.1</td>
</tr>
<tr class="3">
<td>Row 2.1.1</td>
</tr>
<tr class="3">
<td>Row 2.1.2</td>
</tr>
</table>
更新 - JSfiddle demo
如果我隐藏任何行并单击刷新,它不会记住切换状态。我的代码有什么问题。
谢谢
【问题讨论】:
-
你能正确获取 localStorage.getItem('hdnvalue') 吗?这个
$('tr.' + 1)是否按预期找到了元素?另外,为什么alert(localStorage.getItem('hidden'));?这应该会提示 null,对吧? -
@mkaran,是的,我隐藏了 getitem 值,对不起,这是一个错误,我现在正在纠正
-
你能发一份你的html样本吗?
-
你有没有像这样在你的css中设置.hidden类:
.hidden{ display:none; }
标签: javascript jquery asp.net-mvc