-1

次のコードを使用しています

<style>
    .navbar .nav a.current {color:#3598fe; }
</style>
<script type="text/javascript" charset="utf-8">
    //<![CDATA[
    jQuery(function() {
        jQuery('.primary-nav a').each(function() {
            if (jQuery(this).attr('href') === window.location.pathname) {
                jQuery(this).addClass('current');
            }
        });
    });
    //]]>
</script>

体のこの部分

<ul class="nav pull-right">
    <li><a href="#Home">Home</a></li>
    <li><a href="#contact">Contact</a></li>
    <li><a href="#about">About</a></li>
</ul>

誰かがアクティブなハイパーリンクの色に変更する正しいコードを手伝ってくれますか?

4

3 に答える 3

2

私はお勧めします:

$('ul.nav a').filter(function(){
    return $(this).attr('href') === window.location.hash;
}).addClass('current');

概念実証

参考文献:

于 2013-08-05T20:47:35.213 に答える
0

これは、jQuery で手を汚したくない場合に使用できるオプションです。(インラインスタイルは適していないため、後でより良いオプションを見つけることをお勧めします)

<ul class="nav pull-right">
  <li><a class="nav navhome" href="#Home">Home</a></li>
  <li><a class="nav navcontact" href="#contact">Contact</a></li>
  <li><a class="nav navabout" href="#about">About</a></li>
</ul>

次に、変更したいスタイルの各ページにインライン スタイルを追加します。

<style>
  .nav a.navhome {color:#ff7200; }
</style>

これにより、現在のページのクラスが変更され、テキストの色が上書きされます。

先に述べたように、これは解決策ですが、将来的により最新で流暢なものにするために、いくつかのjQueryを学ぶことをお勧めします.

于 2013-08-05T21:25:28.303 に答える
0

これには jquery を使用する必要はありません。この css を使用するだけです。

.nav a {}
.nav a:active {}

ええ、彼が望んでいたことがわかりました。デビッド・トーマスの解決策はうまくいくようです

于 2013-08-05T20:48:15.303 に答える