Je cet exemple menu:Utilisez jQuery pour changer plusieurs choses dans le menu
<div id="menu">
<ul>
<li class="menu-item"><a class="a_menu_item" href="domain.com/home/“>Home</a></li>
<li class="menu-item"><a class="a_menu_item" href="domain.com/example-page/“>Example Page</a></li>
<ul class="sub-menu">
<li class="home-block menu-item"><a class="a_menu_item" href="domain.com/different-thing-1/“>Different Thing 1</a></li>
<li class="menu-item"><a class="a_menu_item" href="domain.com/example-page2/“>Example Page 2</a></li>
</ul>
</li>
<li class="home-block menu-item"><a class="a_menu_item" href="domain.com/different-thing-2/“>Different Thing 2</a></li>
</ul>
</div>
Je suis très mauvais avec jQuery et Javascript, donc je l'ai trouvé un peu de code ici et là pour commencer, mais je ne indice comment le faire fonctionner.
$(document).ready(function(){
$('#menu li').each(function(){
var string = $('#menu li.home-block>a').attr('href');
var stringmin = string.slice(0, -1); //Removes last slash
var result = stringmin.split('/'); //Splits into an array
var final = result.pop(); //Removes last value and grabs the last value
var previous = result.join('/'); //Grabs the previous part
$('#menu li.home-block>a').href = previous + '/#' + final; //Put it all back together
$('#menu li.home-block a').addClass('scroll');
});
});
L'idée est de passer par le menu et modifier uniquement les balises d'un qui ont une li mère avec la classe « .home-block
». Ces besoin d'un lien qui vont à une ancre et une classe « .scroll
» ajouté comme ceci:
<div id="menu">
<ul>
<li class="menu-item"><a class="a_menu_item" href="domain.com/home/“>Home</a></li>
<li class="menu-item"><a class="a_menu_item" href="domain.com/example-page/“>Example Page</a></li>
<ul class="sub-menu">
<li class="home-block menu-item"><a class="a_menu_item scroll” href="domain.com/#different-thing-1/“>Different Thing 1</a></li>
<li class="menu-item"><a class="a_menu_item" href="domain.com/example-page2/“>Example Page 2</a></li>
</ul>
</li>
<li class="home-block menu-item"><a class="a_menu_item scroll” href="domain.com/#different-thing-2/“>Different Thing 2</a></li>
</ul>
</div>
D'abord, vous avez dans votre code des erreurs de type. Ce '' '' n'est pas le même que celui '' ''. Et il y a un 'li' qui est excédentaire –