Javascript 切换按钮的href链接,取决于JS提供的网站语言

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

我有一个网站上的按钮,我翻译了文本(使用po和mo文件),但链接仍然只有一个。我正在尝试切换,这取决于网站以何种语言打开,但我的代码不起作用。有人能帮忙吗

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。你是最棒的!!!