0
votes

Impossible de modifier le lien d'un bouton à l'aide de Javascript

Bonjour je suis un novice total (je ne code pas) et j'ai réalisé un site wordpress en deux langues différentes (français et anglais) en utilisant le plugin Polylang.

Mais je suis confronté au problème suivant: dans mon site web , il y a un bouton menant à une page Facebook en anglais et lorsque le site Web passe en français, j'aimerais que le bouton mette en lien vers une autre page Facebook (qui sera en français).

De quoi je recherché jusqu'à présent, je comprends que cela serait possible en utilisant javascript. Et j'ai essayé de nombreuses variantes du code suivant sans résultat:

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

"fa-facebook" est la classe css du bouton de réseau social.

Qu'est-ce que je fais de mal et comment puis-je résoudre ce problème s'il vous plaît? Merci!

Edit: voici le code html de la version française: jsfiddle.net/yup5zxng


7 commentaires

pouvez-vous montrer le html? Le sélecteur fonctionne-t-il? pouvez-vous faire console.log ($ ('html [lang = | fr] .fa-facebook')) ?


Oui le sélecteur fonctionne, j'ai essayé de le modifier en Css


cela aide-t-il -> stackoverflow.com/a/51956928/8851062 ?


Exécuter ceci dans la console: jQuery ('html [lang = | fr] .fa-facebook') renvoie une erreur Erreur de syntaxe, expression non reconnue: html [lang = | fr] .fa -facebook . Ce sélecteur fonctionne bien que $ ('. Fa-facebook');


Collez le code html dans votre question.


veuillez ajouter votre code HTML dans la question et indiquer votre problème exact


@DFFD vous pouvez ajouter jsfiddle et coller l'url


3 Réponses :


0
votes

J'ai aussi essayé sans résultat:

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


0 commentaires

0
votes

Fondamentalement ce que vous devriez faire, c'est vérifier la langue de la balise sur le document prêt et après une boucle à travers tous les liens Facebook et mettez à jour leur href . Quelque chose comme ceci: xxx

voici un échantillon en direct: https: / /jsfiddle.net/rhernando/kwndv609/3


edit J'ai oublié la structure arborescente de votre DOM L'élément de classe est une balise de sorte que vous devez pointer sur son élément parent. Le code mis à jour devrait fonctionner.


2 commentaires

Il le fait au moins ici: jsfiddle.net/rhernando/yphrq3j6/1 Si vous cochez la case liens d'icônes facebook, vous les pointerez vers https://facebook.com/my-french-site/ Aussi si vous changez la langue en en-EN et exécutez à nouveau le code, les liens pointent vers la fausse URL anglaise. Cela pourrait peut-être être lié au fait que votre configuration utilise Wordpress.


oui, cela me dérange car c'est la solution que je cherchais, mais quand je la mets en œuvre, elle ne donne pas les résultats attendus ... Merci pour votre temps et vos efforts!



0
votes

vous avez une faute de frappe dans le sélecteur d'attribut: | doit être avant = , pas après:

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

En savoir plus sur les sélecteurs d'attributs ici: https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors


1 commentaires

Merci, je l'ai changé mais il y a toujours un problème avec mon code car il ne fonctionne pas