11497 sujets

JavaScript, DOM et API Web HTML5

hello a tous j'essai de me battre avec une one-page pour que les liens cliqués prennent la class active
j'ai essayer pas mal de chose mais j'ai un peu de mal ...

<div id="nav2">
	<ul class="maximenuck2"><li class="maximenuck item203 first level2 " style="z-index : 11999;"><a class="maximenuck " href="#toto"><span class="titreck">Hoyado</span></a>
		</li><li class="maximenuck item204 level2 " style="z-index : 11998;"><a class="maximenuck " href="#referencement"><span class="titreck">Référencement gagnant</span></a>
		</li><li class="maximenuck item202 level2 " style="z-index : 11997;"><a class="maximenuck " href="#equipe"><span class="titreck">L'équipe</span></a>
		</li><li class="maximenuck item259 last level2 " style="z-index : 11996;"><a class="maximenuck " href="#certifgoogle"><span class="titreck">Hoyado certifié Google</span></a>
	</li>
	</ul>
	

juste après mon <body>
<script type="text/javascript">
(function($){
	$("#nav2 li a").click(function(){
  $("#nav2 li a").removeClass("active");
  $(this).addClass("active")
});
});
</script>

j'ai essayer pas mal d'autres truc ... mais rien n'y fait
Merci d'avance pour votre aide
j'ai bien mis mon code en fin
mais toujours rien cela ne me rejoute pas de class active
je n'ai aucune erreur javascript dans firebug ..
Modérateur
En fait il déclarait une fonction anonyme qui ne s’exécutait pas car il manquatit les parenthèses à la fin…


(function($){
  $("#nav2 li a").click(function(){
    $("#nav2 li a").removeClass("active");
    $(this).addClass("active")
  });
})[#red](jQuery)[/#];

ou

(function(){
  $("#nav2 li a").click(function(){
    $("#nav2 li a").removeClass("active");
    $(this).addClass("active")
  });
})[#red]()[/#];

fonctionnent bien.
Modifié par kustolovic (14 Nov 2013 - 13:26)
Merci déjà pour vos retours ...
j'ai mis ceci juste avant </body>
<script type="text/javascript">
(function($){
  $("#nav2 ul li a").click(function(){
    $("#nav2 ul li a").removeClass("active");
    $(this).addClass("active")
  });
})(jQuery);
</script>

je n'ai pas d'erreur mais cela ne fonctionne pas ...
c'est vraiment bizarre

<script type="text/javascript">
  $("#nav2 ul li a").click(function(){
    $("#nav2 ul li a").removeClass("active");
    $(this).addClass("active")
  });
</script>


Pourtant juste avec ce code en bas de page ça devrait marcher !!
Avec ton code j'ai droit a ca
TypeError: $(...) is null

$("#nav2 ul li a").click(function(){

...
merci pour l'aide
cette erreur veux dire que l’élément n'est pas trouvé donc soit le script s’exécute avant l’élément soit il n'est pas existant le mieux pour vérifier est mettre la fonction click dans un .ready
Merci pour ta patience ...
la plus d'erreur ... mais cela ne fonctione pas ..

<script type="text/javascript">
  $(document).ready( function(){
    $("#nav2 ul li a").click(function(){
    $("#nav2 ul li a").removeClass("active");
    $(this).addClass("active")
  });
});
</script>

juste avant </body>
... arg
d'autres idée ?
Hello !

Est-ce que ceci fonctionne ?
<script type="text/javascript">
  jQuery(document).ready( function($){
    $("#nav2 ul li a").click(function(){
    $("#nav2 ul li a").removeClass("active");
    $(this).addClass("active");
  });
});
</script>

Modifié par Oken (19 Nov 2013 - 11:18)
Je viens de tester, ça fonctionne. La classe est bien rajoutée.
Elle est surement pas définie dans le CSS ?
De rien. ^^

Pour l'explication : tu as mis un noConflict et du coup l'alias $ n'est plus disponible pour jQuery.
Modifié par Oken (19 Nov 2013 - 11:55)