Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Javascript更改按钮的链接_Javascript_Jquery - Fatal编程技术网

无法使用Javascript更改按钮的链接

无法使用Javascript更改按钮的链接,javascript,jquery,Javascript,Jquery,你好,我是一个完全的新手(我不编码),我使用Polylang插件用两种不同的语言(法语和英语)创建了一个wordpress网站 但我面临以下问题:在我的网站上,有一个按钮链接到一个英文Facebook页面,当网站切换到法文时,我希望该按钮链接到另一个Facebook页面(将是法文) 从我到目前为止的搜索结果来看,我知道使用javascript可以做到这一点。 我尝试了以下代码的许多变体,但没有结果: <script> jQuery(document).ready(functi

你好,我是一个完全的新手(我不编码),我使用Polylang插件用两种不同的语言(法语和英语)创建了一个wordpress网站

但我面临以下问题:在我的网站上,有一个按钮链接到一个英文Facebook页面,当网站切换到法文时,我希望该按钮链接到另一个Facebook页面(将是法文)

从我到目前为止的搜索结果来看,我知道使用javascript可以做到这一点。 我尝试了以下代码的许多变体,但没有结果:

<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有关。是的,这让我很不安,因为这是我一直在寻找的解决方案,但当我实现它时,它并没有给出等待的结果。。。谢谢你的时间和努力!