【发布时间】:2021-02-13 03:35:13
【问题描述】:
我有一个使用 Pug 模板引擎的 Node.js 网站,可以选择更改网站显示的语言。
迄今为止,这一切都已被硬编码,我的导航栏中的语言切换器显示为:
li.nav-item.active
a(href="#" id="to_en") EN  
a(href="#" id='to_kyr') | KG  
a(href="#" id='to_ru') | RU  
当点击这些值时,会运行以下 jQuery 函数来将 URL 更改为新语言:
$(document).ready(function () {
var current = location.pathname;
var ru_url = current.replace('/en', '/ru');
$("#to_ru").prop('href', ru_url);
});
$(document).ready(function () {
var current = location.pathname;
var kg_url = current.replace('/en', '/kg');
$("#to_kyr").prop('href', kg_url);
});
我现在正试图用一个通用函数替换它,该函数选择当前语言和选择的语言,然后执行相同的操作。查看this question,我尝试添加类说明符,如下所示,但我不确定这是否可行,因为我不想每次都指定我选择的语言。
li.nav-item.active
a(class="change_lang" href="#" id="to_en") EN  
a(class="change_lang" href="#" id='to_kyr') | KG  
a(class="change_lang" href="#" id='to_ru') | RU  
我还将当前语言存储为一个 jQuery 变量,我可以使用它来查找要替换的 URL 部分,如下所示(例如,#{lang} 可以是“/en”)。有没有办法动态更改 URL 以获取点击的值?
current.replace('#{lang}', 'lang_to_change_to')
【问题讨论】:
标签: javascript html jquery node.js