Html 本地存储选项卡类

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

基于此,我尝试将单击的选项卡“a”元素保存在本地存储中,并将类“active”添加到其父元素“li”元素中。但是到目前为止还没有成功,我相信问题出在jquery代码的最后一部分

<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;
    ...
});

我尝试了你的两个例子,但都没有成功;我尝试了你的两个例子,但都没有成功;以及