I have this example-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>
I am very bad with jQuery and Javascript, so I found some code here and there to start with, but I have no clue how to make it work.
$(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' );
});
});
The idea is to go through the menu and change only the a-tags that have a parent li with the class ".home-block
". These need a link that go to an anchor and a class ".scroll
" added like this:
<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>