Aktive Navigationsklasse basierend auf URL hinzufügen

Avatar of Chris Coyier
Chris Coyier am

Idealerweise geben Sie diese Klasse serverseitig aus, aber wenn das nicht möglich ist…

Nehmen wir an, Sie haben eine Navigation wie diese

<nav>
	<ul>
		<li><a href="/">Home</a></li>
		<li><a href="/about/">About</a></li>
		<li><a href="/clients/">Clients</a></li>
		<li><a href="/contact/">Contact Us</a></li>
	</ul>
</nav>	

Und Sie befinden sich unter der URL

http://ihre-seite.de/about/team/

Und Sie möchten, dass der Link "About" eine Klasse "active" erhält, um visuell anzuzeigen, dass es sich um die aktive Navigation handelt.

$(function() {
  $('nav a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active');
});

Im Wesentlichen werden dadurch Links in der Navigation abgeglichen, deren href-Attribut mit "/about" beginnt (oder was auch immer das sekundäre Verzeichnis ist).