首页 > 解决方案 > 使用超链接后如何显示相同 id 的 tabcontent?

问题描述

我已将我的网站翻译成多种语言。每一页的翻译都是div同一个id。要显示的语言由 Javascript(参见代码)通过按钮选择。

我已经尝试实现 cookie,但失败了(不再显示任何内容)。现在我想将所选语言保存为 cookie,以便在使用指向我网站另一个页面的链接后立即显示相同的语言。

  // Declare all variables
  var i, tabcontent, tablinks;

  // Get all elements with class="tabcontent" and hide them
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }

  // Get all elements with class="tablinks" and remove the class "active"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(langName).style.display = "block";
  evt.currentTarget.className += " active";
}

  document.getElementById("index").click();```

标签: javascripthtmlcookieshyperlink

解决方案


您也可以使用localStorage来实现这一点。

例子:

// getting the current language with English as a fallback
var language = window.localStorage.getItem('lang') || 'en'

// ... your code for setting the language ...

// setting the selected language
window.localStorage.setItem('lang', language)

推荐阅读