Javascript 切换按钮的href链接,取决于JS提供的网站语言
我有一个网站上的按钮,我翻译了文本(使用po和mo文件),但链接仍然只有一个。我正在尝试切换,这取决于网站以何种语言打开,但我的代码不起作用。有人能帮忙吗Javascript 切换按钮的href链接,取决于JS提供的网站语言,javascript,multilingual,Javascript,Multilingual,我有一个网站上的按钮,我翻译了文本(使用po和mo文件),但链接仍然只有一个。我正在尝试切换,这取决于网站以何种语言打开,但我的代码不起作用。有人能帮忙吗 function changeLink(document.getAttribute("lang")){ var theLink = document.querySelector('.donate-now'); if(document.getAttribute("lang") == 'en-EN'){ theLink.h
function changeLink(document.getAttribute("lang")){
var theLink = document.querySelector('.donate-now');
if(document.getAttribute("lang") == 'en-EN'){
theLink.href="https://usrussiacc.org/membership/";
} else if(document.getAttribute("lang") == 'ru-RU'){
theLink.href="https://usrussiacc.org/ru/glavnaja/chlenstvo/";
}
}
首先,我假设您正在设置
实际上是文档的根元素。它需要这样检索;最简单、最快捷的方法是document.documentElement
()
使用它,我们调用document.documentElement.getAttribute(“lang”)
,从
标记中检索lang=“aa”
属性
我还清理了这个函数,并单独调用了它
函数更改链接(lang){
var theLink=document.querySelector('.now');
如果(lang=='en'){
console.log('en-en')
theLink.href=”https://usrussiacc.org/membership/";
}else if(lang=='ru'){
console.log('ru-ru')
theLink.href=”https://usrussiacc.org/ru/glavnaja/chlenstvo/";
}否则{
console.log('note')
}
}
changeLink(document.documentElement.getAttribute(“lang”))
您确定该代码在文档上已经存在属性时运行吗?函数定义有点奇怪。通常,您会调用像changeLink(document.getAttribute(“lang”)这样的函数,并声明像changeLink(lang”)这样的函数{}您是否尝试过console.log(document.getAttribute(“lang”)?你确定lang attr等于‘en-en’或‘ru-ru’吗?你好,Matthew,非常感谢,我研究了如何获得这种语言,发现正如你在上面写的那样,它是通过document.documentElement.getAttribute(“lang”)实现的。谢谢你的代码,但它抛出了一个错误-ParseError抛出语法错误,意外的'listURI'(T_STRING)-我正在试图找到原因,但还没有找到yet@AnaGud确保listURI
对象中的每个键/值对之间都有逗号(,)。i、 e.listURI={'a':'apple','b':'banana','c':'cranberry'}
。而且,通常键(a、b、c)不需要引号;在上面的代码段中,它们是必需的,因为有破折号(-)。谢谢你的回答,对了,coma在那里,我刚刚复制了代码并将其粘贴到functions.php,我的头包含了这个echo“”;我也试着用简单的方法来代替它,但两种方法都没有成功cases@AnaGud我不确定是什么原因造成的。如果你能将呈现的HTML代码添加到你的帖子中,它可能有助于诊断问题。Matthew,非常感谢!!!!它正在工作,问题在于我添加代码的地方。愚蠢,但我将其添加到functions.php中,并确定它是错误的,因为它是js。你是最棒的!!!