Javascript : changement de paramètre de <a> [Résolu/Fermé]

Signaler
-
 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

Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
18 juillet 2018
1 444
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>
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.
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>