私は Web ベースの ASP.NET MVC 3 Razor を使用しており、すべてのページで使用されるレイアウトとレンダリングされた本文を定義していますが、特別なことは何もありません。私がやりたいのは、メニューで選択した名前のページを強調表示することだけです。
< ul > を使用したシンプルなメイン メニューを次に示します。
<ul id="menu">
<li id="1">@Html.ActionLink("menu1", "menu1", "Home")</li>
<li id="2">@Html.ActionLink("menu2", "menu2", "Home")</li>
<li id="2">@Html.ActionLink("menu3", "menu3", "Home")</li>
</ul>
私の質問に: 選択した < li > タグを強調表示する正しい方法は何ですか? 私はjQueryを使用することを考え、次のようなことをしました:
$(document).ready(function () {
$("#menu li").click(function () {
if (this.id == "1") {
this.css("background","#CCCCCC");
}
else if (this.id == "2") {
this.css("background","#CCCCCC");
}
else if (this.id == "3") {
this.css("background","#CCCCCC");
}
});
});
しかし、それは正しく機能していません。< li > をクリックするたびに関数が呼び出されますが、 < li > の背景は変更されません。後でレイアウトをロードする(およびこのリストの背景プロパティを上書きする)ことが原因かどうかはわかりません。
私が考えた次の方法は、どういうわけかコントローラーを介してデータを渡すことですが、そのような小さなことには必要ないと思います。
すべてのアイデアや考えは本当に感謝しています!