ユーザーが現在どのページを表示しているかを判断できるようにしたい。ユーザーが現在そのコンテキストを表示しているナビゲーションリンクに独自のスタイルを追加するという形の単純なインジケーター
これが私のスクリプトです。ifステートメントも機能しますが、addClass()関数は何もしません。すべてのセレクターは正常に機能します。これが私のコードです。
<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:
それを機能させました、これは私の最終的なコードです、何か改善の必要がありますか?
$(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");
}
});