Javascript : changement de paramètre de <a>

Résolu
2pax -  
 2pax -
Bonjour,

J'ai un menu dans lequel un lien ouvre une fenêtre modale. Vu la haute importance du lien, j'aimerais faire cela :
- Afficher le lien qui ouvre la page dans une nouvelle fenêtre. Ceci afin que les utilisateurs sans javascript aient quand même un lien fonctionnel.
- Si javascript est activé, remplacer des paramètre du lien via Javascript. Ainsi, si Javascript est activé, le lien ouvre une fenêtre modale.

Voici mon code. Il ne fonctionne pas malheureusement...

<a id="lien-login" href="connexion.php" target="_blank">Loger sans js</a>

<script type="text/javascript">

	var elmnt = document.getElementById("lien-login") ;

	elmnt.href = "#infos" ;
	elmnt.data-toogle = "modal" ;
	elmnt.innerHTML = "Login avec js" ;
	
</script>


Un grand merci :)

2 réponses

  1. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    Je ne sais pas si ça va t'aider, mais tu devrais peut être essayer de manipuler ton code en jQuery qui présente de nombreux avantages.

    En jQuery ton code (d'après ce que tu nous en dis) devrait ressembler à quelque chose comme ça :

    $('#lien-login').attr('href', '#infos');
    $('#lien-login').attr('data-toogle', 'modal');
    $('#lien-login').html('Login avec js');

    sans oublier de déclarer dans ton head :
    <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
    0
    1. 2pax
       
      Merci ! Malheureusement, cela ne fonctionne pas. Pourtant, j'utilise JQuery vu que je suis avec Bootstrap.
      J'ai essayé avec un span dont je change l'innerHTML. Cela fonctionne mais je perd le style du menu. Idem avec un noscript.
      0
  2. 2pax
     
    Réussi !

    <script type="text/javascript">
    
    	var elmnt = document.getElementById("lien") ;
    
    	elmnt.innerHTML = "Login avec JS" ;
    	elmnt.setAttribute("href", "#infos") ; 
    	elmnt.setAttribute("target", "") ;
    	elmnt.setAttribute("data-toggle", "modal") ;
    	
    </script>
    0