无法使用Javascript更改按钮的链接
你好,我是一个完全的新手(我不编码),我使用Polylang插件用两种不同的语言(法语和英语)创建了一个wordpress网站 但我面临以下问题:在我的网站上,有一个按钮链接到一个英文Facebook页面,当网站切换到法文时,我希望该按钮链接到另一个Facebook页面(将是法文) 从我到目前为止的搜索结果来看,我知道使用javascript可以做到这一点。 我尝试了以下代码的许多变体,但没有结果:无法使用Javascript更改按钮的链接,javascript,jquery,Javascript,Jquery,你好,我是一个完全的新手(我不编码),我使用Polylang插件用两种不同的语言(法语和英语)创建了一个wordpress网站 但我面临以下问题:在我的网站上,有一个按钮链接到一个英文Facebook页面,当网站切换到法文时,我希望该按钮链接到另一个Facebook页面(将是法文) 从我到目前为止的搜索结果来看,我知道使用javascript可以做到这一点。 我尝试了以下代码的许多变体,但没有结果: <script> jQuery(document).ready(functi
<script>
jQuery(document).ready(function(){
$('html[lang=|fr] .fa-facebook').attr('href', 'https://myfacebookpage.com');
});
</script>
jQuery(文档).ready(函数(){
$('html[lang=|fr].fa facebook').attr('href','https://myfacebookpage.com');
});
“fa facebook”是社交媒体按钮的css类
我做错了什么?我该如何解决?
谢谢大家!
编辑:这是法文版的html代码:jsfiddle.net/yup5zxng我也尝试过,但没有结果:
<script>
jQuery(document).ready(function(){
$('html:lang(fr-FR) .fa-facebook').attr('href', 'https://myfacebookpage.com'); }); </script>
jQuery(文档).ready(函数(){
$('html:lang(fr.fa-facebook').attr('href','https://myfacebookpage.com'); });
基本上,你应该做的是检查document ready和after上的
标签的语言,通过所有facebook链接循环并更新它们的href
。大概是这样的:
$(document).ready(function() {
const documentLanguage = $("html").attr("lang");
const facebookLinks = $(".fa-facebook");
facebookLinks.each(function(index, link) {
if (documentLanguage === "fr-FR") {
$(link).parent().attr("href", "https://facebook.com/my-french-site/");
} else if (documentLanguage === "en-EN") {
$(link).parent().attr("href", "https://facebook.com/my-english-site/");
}
});
});
以下是一个现场样本:
编辑
我忘记了DOM的树结构,class元素是一个
标记,因此必须指向它的父元素。更新的代码应该可以工作。属性选择器中有一个输入错误:
|
应该在=
之前,而不是之后:
$('html[lang |=fr].fa facebook')
有关属性选择器的更多信息,请参见此处:是否可以显示html?选择器工作吗?你能做
console.log($('html[lang=|fr].fa facebook'))
吗?是的,选择器可以工作,我试着在CSD中修改它。是否需要此帮助->?在控制台中运行此命令:jQuery('html[lang=|fr].fa facebook')
返回一个错误语法错误,无法识别的表达式:html[lang=|fr].fa facebook。此选择器通过$('.fa facebook')工作代码>在你的问题中粘贴html代码。谢谢,我更改了它,但我的代码仍然有问题,因为它不工作。至少在这里是这样的:如果你检查facebook图标链接,您可以将它们指向https://facebook.com/my-french-site/
另外,如果在
标记中将语言更改为en
,并再次运行代码,则链接指向英文假url。也许这可能与您的设置使用Wordpress有关。是的,这让我很不安,因为这是我一直在寻找的解决方案,但当我实现它时,它并没有给出等待的结果。。。谢谢你的时间和努力!