2017-09-04 19 views
0

このjQueryコードを使用して、アンカー間でアクティブなクラスを切り替えることはできますが、悲しいことに、それが機能していないため、すべてのアンカーにアクティブなクラスを追加しています。選択したアンカーにアクティブなクラスを追加する

$(function() { 
    $('.categories-list li a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active'); 
}); 

と私のアンカーは以下のようになります。

<a href="/blog/category/motoring+advice+&amp;+tips" class="active">motoring advice &amp; tips</a> 
<a href="/blog/category/motoring+news+&amp;+updates" class="active">motoring news &amp; updates</a> 

私が達成しようとしているものではありませんそれらのアルに繰り返しアクティブクラスを。私はそれのように編集しようとしました:

$(function() { 
    $('.categories-list li a[href^="/blog/category/' + location.pathname.split("/")[1] + '"]').addClass('active'); 
}); 

まだ動作しませんでした。

.categories-list li 

これはちょうど私のulクラスであり、私のli

+0

あなたは 'location.pathname'で何を得ていますか? – Shiladitya

+0

現在のURL –

+0

'location.pathname'にこれを少しでも' HTML'で共有できますか? – Shiladitya

答えて

0

あなたのjQueryのセレクタ(x)は、xはのインデックスであり、すべてのアンカーにマッチし、IDを使用して、より正確なセレクタ、または.EQ使用必要なノード。

0

thatsどのように私はこの問題を解決します。

$(document).ready(function() { 
     addActiveClass(); 

     function addActiveClass() { 
      var current = window.location.pathname; 
      $('.categories-list-blog li a').each(function() { 
      var link = '' + $(this).attr('href'); 
      if (current == link) { 
       $(this).addClass('active'); 
      } 
      }); 
     } 
     }); 
関連する問題