javascript - active class does not show -


i have menu:

<nav class="show-for-large-up main-navigation default-navigation align_right" role="navigation">     <ul class="menu-main-navigation active">         <li id="menu-item-393" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home">             <a href="https://website.com/">home</a>         </li>         <li id="menu-item-415" class="menu-item menu-item-type-post_type menu-item-object-page>             <a href="https://website.com/shop/">shop</a>         </li>         <li id="menu-item-491" class="menu-item menu-item-type-post_type menu-item-object-page">             <a href="https://website.com/about/">about</a>         </li>         <li id="menu-item-1086" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1049 current_page_item active">             <a href="https://website.com/services/" class="active">services</a>         </li>         <li id="menu-item-403" class="menu-item menu-item-type-post_type menu-item-object-page">             <a href="https://website.com/portfolio/">portfolio</a>         </li>         <li id="menu-item-1010" class="menu-item menu-item-type-post_type menu-item-object-page">             <a href="https://website.com/contact-us/">contact us</a>         </li>         <li id="menu-item-503" class="menu-item menu-item-type-post_type menu-item-object-page">             <a href="https://website.com/my-account/">login / register</a>         </li>     </ul> </nav> 

myscript.js:

jquery(document).ready(function($) {     var activeurl = window.location;     $('a[href="'+activeurl+'"]').parent('li').addclass('active');      $(function () {         var url = window.location.pathname,         urlregexp = new regexp(url.replace(/\/$/, '') + "$");          $('a').each(function () {             if (urlregexp.test(this.href.replace(/\/$/, ''))) {                 $(this).addclass('active');                 $(this).parent().addclass("active");             }         });     });      var aurl = window.location.href; // absolute url     var parts = aurl.split('/');     var lastsegment = parts.pop() || parts.pop();  // handle potential trailing slash      $(".main-navigation > ul > li > a").each(function(){         if($(this).attr("href") == aurl || $(this).attr("href") == '' ) {             $(this).addclass('active');             $(this).parent().addclass("active");         }     });  }); 

i loading js script:

function load_my_script(){     wp_register_script(          'my_script',          get_template_directory_uri() . '/js/myscript.js',          array( 'jquery' )     );     wp_enqueue_script( 'my_script' ); } add_action('wp_enqueue_scripts', 'load_my_script'); 

loading css script:

function enqueue_custom_stylesheets() {     if ( ! is_admin() ) {       wp_enqueue_style( 'custom_css', get_template_directory_uri() . '/css/customcss.css' );     } } add_action( 'wp_enqueue_scripts', 'enqueue_custom_stylesheets', php_int_max ); 

customcss.css:

.main-navigation > ul > li > a:active {   text-decoration: underline !important; } .main-navigation ul li:active {   text-decoration: underline !important;   } 

everything seems in place (loaded),
but :active state shows if use developer console trigger active state , on href.
$(this).parent().addclass("active"); not effect although answers here refer parent()

how can activate active state on href?
thanx

try below code.

jquery

<script>         $(document).ready(function(){         $(window).load(function(){             var x = window.location.href;                 $('.main-navigation ul a[href="'+x+'"]').each(function() {                     if(x == window.location.href){                         $('.main-navigation ul li').removeclass('active');                         $(this).parent('li').addclass('active');                     }                  });             });         });     </script>  

in css

.main-navigation ul li.active a, .main-navigation > ul > li.active > a{   text-decoration: underline !important;   } 

i'ved tried above jquery code , works! :)


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -