Javascript : changement de paramètre de <a>

Résolu/Fermé
2pax - 4 févr. 2013 à 10:27
 2pax - 4 févr. 2013 à 13:37
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

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
4 févr. 2013 à 10:43
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
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
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