Html 本地存储选项卡类
基于此,我尝试将单击的选项卡“a”元素保存在本地存储中,并将类“active”添加到其父元素“li”元素中。但是到目前为止还没有成功,我相信问题出在jquery代码的最后一部分Html 本地存储选项卡类,html,jquery,local-storage,Html,Jquery,Local Storage,基于此,我尝试将单击的选项卡“a”元素保存在本地存储中,并将类“active”添加到其父元素“li”元素中。但是到目前为止还没有成功,我相信问题出在jquery代码的最后一部分 <ul class="nav-tabs"> <li class="active"><a href="javascript:;" class="tab-link" id="logo-tab&quo
<ul class="nav-tabs">
<li class="active"><a href="javascript:;" class="tab-link" id="logo-tab">Logo Tab</a></li>
<li><a href="javascript:;" class="tab-link" id="header-tab">Header Tab</a></li>
<li><a href="javascript:;" class="tab-link" id="footer-tab">Footer Tab</a></li>
</ul>
<div id="logo-tab-1" class="tab-content active">
logo tab content demo
</div>
<div id="header-tab-1" class="tab-content">
header tab content demo
</div>
<div id="footer-tab-1" class="tab-content">
footer tab content demo
</div>
jquery
$(".tab-link").each(function(){
$(this).click(function(){
localStorage.selectedTab = $(this).index() + 1;
tabId = $(this).attr('id');
$(".tab-link").parent('li').removeClass("active");
$(this).parent('li').addClass("active");
// tab content
$(".tab-content").removeClass("active");
$("#"+tabId+"-1").addClass("active");
return false;
});
});
// search for local storage
if (localStorage.selectedTab) {
$(".tab-link:eq(" + (localStorage.selectedTab - 1) + ")").click().parent('li').addClass("active");
}
code问题可能是
本地存储。selectedTab
返回字符串而不是整数值
因此,您可以编写parseInt(localStorage.selectedTab)-1
,而不是在localStorage为1的情况下生成11
$(".tab-link").each(function(index) {
$(this).click(function() {
localStorage.selectedTab = index + 1;
...
});
例如:
> localStorage.test = 1
< 1
> localStorage.test + 1
< "11"
>localStorage.test=1
< 1
>localStorage.test+1
< "11"
问题可能是localStorage.selectedTab
返回字符串而不是整数值
因此,您可以编写parseInt(localStorage.selectedTab)-1
,而不是在localStorage为1的情况下生成11
$(".tab-link").each(function(index) {
$(this).click(function() {
localStorage.selectedTab = index + 1;
...
});
例如:
> localStorage.test = 1
< 1
> localStorage.test + 1
< "11"
>localStorage.test=1
< 1
>localStorage.test+1
< "11"
您的算法是正确的!唯一的问题是$(this).index()
没有返回所需的值
您需要从循环中获取索引。每个(函数(索引)
,然后使用它localStorage.selectedTab=index+1
$(".tab-link").each(function(index) {
$(this).click(function() {
localStorage.selectedTab = index + 1;
...
});
您的算法是正确的!唯一的问题是$(this).index()
没有返回所需的值
您需要从循环中获取索引。每个(函数(索引)
,然后使用它localStorage.selectedTab=index+1
$(".tab-link").each(function(index) {
$(this).click(function() {
localStorage.selectedTab = index + 1;
...
});
我尝试了你的两个例子,但都没有成功;我尝试了你的两个例子,但都没有成功;以及