Desidero essere in grado di determinare su quale pagina l'utente è attualmente attivo. un semplice indicatore sotto forma di aggiungere uno stile unico al link di navigazione l'utente sta visualizzando il suo contestojQuery addClass() non sembra funzionare
ecco il mio script, tutti i selettori funzionano bene, se anche l'istruzione fa il lavoro, ma la funzione addClass() non fa nulla .. qui è il mio codice:
<script>
$(document).ready(function(){
var pathname = window.location.pathname;
$("#links ul li a").each(function() {
var href= $(this).attr("href");
if (pathname.indexOf(href) >= 0){
$(this).addClass("active");
}
});
});
</script>
<nav id="links">
<ul>
<li><a href="index.php">Home</a></li>
<li><a>About</a></li>
<li><a>Contact</a></li>
</ul>
</nav>
HTML:
preso a lavorare, questo è il mio codice finalmente, v'è la necessità di eventuali migliorie?
$(document).ready(function(){
var pathname = window.location.pathname;
var onDomain=true;
$("#links ul li a").each(function() {
var href= $(this).attr("href");
if (href != undefined && pathname.indexOf(href) >= 0){
$(this).addClass("active");
onDomain=false;
}
});
if (onDomain){
$("#links ul li:first-child a").addClass("active");
}
});
Ho creato un test case con il tuo script e funziona perfettamente. –