2017-10-04 8 views
0

これまでのJQueryコードです。page urlを使用してサイドバーメニューにアクティブなクラスを追加するには?

 var url = window.location; 
     $('ul.sidebar-menu a').filter(function() { 
     return this.href == url; 
     }).parent().addClass('active'); 

これは/カテゴリまたは他のメニューに使用できます。しかし、URLが/ category/createまたは/ category?page = 2のようなものである場合、コードはアクティブなクラスをメニューに追加していません。コードをどこで変更すればよいですか?

答えて

0

このお試しください:ここで

var url = window.location; 
     $('ul.sidebar-menu a').filter(function() { 
     return (url.indexOf(this.href)>-1) ? true : false; 
     }).parent().addClass('active'); 
+0

いいえ、動作しません。クラスを全く追加していません。 –

+0

'active'クラスを追加するには、' this.href'と 'url'の値を共有できますか? –

+0

申し訳ありませんあなたは何を求めているのか理解できません。このようなもの?? http://127.0.0.1:8000/product/create –

0

は、サイドバーに、アクティブクラスを追加するためのコードです。このコードを試してください。

var url = window.location.pathname; 
      var baseurl = document.location.origin; 
      jQuery('ul.sidebar-menu li').each(function(){ 
       var sidebarurl = jQuery(this).find('a').attr('href'); 
        var sidebarurl1 = sidebarurl.split('?')[0]; 
          var remain_sidebar_url = sidebarurl1.replace(baseurl,''); 

          if(remain_sidebar_url == url){ 
          jQuery(this).addClass('active'); 
          } 
      }); 
+0

です。コードは自分のコードと同じように動作しています。 OK /製品のために働いていません/作成 –

+0

それはすべて同じままです:( –

関連する問題