私は jQuery が苦手で、学び始めたばかりです。.NET マスター ページにメニュー構造があり、そのマスター ページを使用する各コンテンツ ページで、その UL マスターページ リスト内の項目に異なる CSS クラスを適用したいと考えています。
<section id="navigation">
<nav id="nav-wrap">
<ul id="topnav" class="sf-menu">
<li><a href="Default.aspx">Home</a></li>
<li><a href="About.aspx">About</a></li>
<li class="current"><a href="Purchase.aspx">Buy Now</a></li>
<li><a href="ContactUs.aspx">Contact Us</a></li>
</ul><!-- topnav -->
</nav><!-- nav -->
<div class="clear">
</div>
jQueryで呼び出している私のブロック:
<section id="navigation">
<nav id="nav-wrap">
<ul id="topnav" class="sf-menu">
<li><a href="Default.aspx" id="homelink" title="Home">Home</a></li>
<li><a href="About.aspx" id="aboutlink" title="About">About</a></li>
<li><a href="Purchase.aspx" id="buynowlink" title="Buy Now"><span>Buy Now</span></a></li>
<li><a href="ContactUs.aspx" id="contactuslink" title="Contact Us">Contact Us</a></li>
</ul><!-- topnav -->
</nav><!-- nav -->
<div class="clear">
</div>
このように HTML を記述すると、nav 要素の「Buy Now」が黄色く表示されます。しかし、これはマスター ページなので、jQuery でこれを行いたいので、マスター ページにハードコーディングされていません。
<script type="text/javascript">
$(document).ready(function () {
$('#buynowlink').addClass('current');
$('#pagetitle').html('Purchase');
});
</script>
その jQuery コードは CSS を適用していないように見えますか、それとも何か問題があるのでしょうか? ページの H1 タイトルを設定する以下の行は機能するので、マスター ページの下にあるページの問題ではないと思います。
私がこれを行うと何が奇妙になりますか: それは機能するので、何らかの CSS の問題が発生しているに違いありません。
<script type="text/javascript">
$(document).ready(function () {
$('#buynowlink').addClass('current');
$('#pagetitle').html('Purchase');
$('#buynowlink').css("color", "yellow");
});
</script>