Невозможно изменить ссылку кнопки, используя Javascript - PullRequest
0 голосов
/ 11 января 2020

Здравствуйте, я новичок ie (я не кодирую), и я создал сайт WordPress на двух разных языках (французский и английский sh), используя плагин Polylang.

Но я Я сталкиваюсь со следующей проблемой: на моем веб-сайте есть кнопка, ссылающаяся на страницу Facebook на английском языке sh, и когда веб-сайт переключается на французский, я бы хотел, чтобы кнопка ссылалась на другую страницу Facebook (которая будет на французском языке). ).

Из того, что я искал до сих пор, я понимаю, что это было бы возможно при использовании javascript. И я попробовал много вариантов следующего кода безрезультатно:

<script>
    jQuery(document).ready(function(){
        $('html[lang=|fr] .fa-facebook').attr('href', 'https://myfacebookpage.com'); 
   });
</script>  

"fa-facebook" - это класс css кнопки социальных сетей.

Что я делаю не так и как я могу это исправить, пожалуйста? Спасибо!

Редактировать: вот код html французской версии: jsfiddle.net/yup5zxng

Ответы [ 3 ]

0 голосов
/ 11 января 2020

По сути, вам нужно проверить язык тега <html> на документе и после l oop просмотреть все ссылки на 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/");
    }
  });
});

Вот живой пример: https://jsfiddle.net/rhernando/kwndv609/3


РЕДАКТИРОВАТЬ Я забыл о древовидной структуре вашего класса DOM элемент класса является тегом <i>, поэтому вы должны указать на его родительский элемент. Обновленный код должен работать.

0 голосов
/ 11 января 2020

у вас есть опечатка в селекторе атрибута: | должно быть до =, а не после:

$('html[lang|=fr] .fa-facebook')

Подробнее о селекторах атрибутов здесь: https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors

0 голосов
/ 11 января 2020

Я тоже пробовал без результата:

  <script>
jQuery(document).ready(function(){
    $('html:lang(fr-FR) .fa-facebook').attr('href', 'https://myfacebookpage.com'); }); </script> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...