Ich versuche, ein Menüsystem zu erstellen, wo ich den Stil des aktiven Seitenelements im Menü ändern kann. Ich verwende eine separate Body-Klasse auf jeder Seite, dann möchte ich durch die li
im Menü navigieren und eine Übereinstimmung mit der Body-Klasse finden. Bei diesem Spiel werde ich dem Menüelement den neuen Stil hinzufügen.Wie finde ich die Klasse des Elements in jeder Schleife
Hier ist mein Code so weit.
HTML
<body class="home-state">
...
<div class="menu-left">
<ul>
<li class="home-state">
<a href="/">Home</a>
</li>
<li class="work-state">
<a href="/work">Work</a>
</li>
<li class="services-state">
<a href="/services">Services</a>
</li>
<li class="about-state">
<a href="/about">About</a>
</li>
<li class="blog-state">
<a href="//blog.example.com" target="_blank">Blog</a>
</li>
<li class="shop-state">
<a href="/shop">Shop</a>
</li>
<li class="contact-state">
<a data-toggle="modal" href="#modal-coworking">Contact</a>
</li>
<li class="project-state">
<a href="/brief/index">Project brief</a>
</li>
</ul>
</div>
...
</body>
JS
var bodyClass = $("body").attr('class');
$('.menu-left ul li').each(function(){
Erstens: Ich möchte hier das Element der Klasse finden I $(this).attr("class");
verwendet haben, die nicht
var element = $(this);
Zweitens funktionierten: Ich möchte ein verwenden, wenn Anweisung, um zu prüfen, ob die Klasse der bodyClass Spiele
console.log(element);
Last: Wenn es eine Übereinstimmung ich die Klasse .active
dem Element li
hinzufügen möchten.
});
Ist Ihr '
' Element garantiert nur eine haben Einzelunterricht? (Ie., * nicht * 'etwas wie class =" home-state big-text "'?) – nnnnnnIch bin nur manuell hinzufügen, aber wenn jemand später eine Klasse hinzufügen, würde es den Code zu brechen. Ich dachte daran, den URL-Pfad zu überprüfen und eine Regex zu verwenden, aber lokal muss ich .html zu den Seiten hinzufügen (etwas mit meiner vagabundierenden Maschine zu tun). Wenn ich die URL-Sniffing-Option verwenden würde, würde es auf dem Live-Server nicht funktionieren der Dev und der lokale Server. Ich könnte es durch ID anstelle von Klasse tun, da Sie nur eine ID für ein Element haben können. –