活动状态菜单javascript

活动状态菜单javascript,javascript,jquery,Javascript,Jquery,我无法使用URL识别设置菜单的活动状态。我希望实现的是拥有 请添加/更改类名而不是Id $(function(){ var url = window.location.href; var page = url.substr(url.lastIndexOf('/')+1); var currentPage=$('.ActiveMenu a[href*="'+page+'"]'); currentPage.addClass('active');

我无法使用URL识别设置菜单的活动状态。我希望实现的是拥有


  • 请添加/更改类名而不是Id

    $(function(){   
       var url = window.location.href;   
       var page = url.substr(url.lastIndexOf('/')+1);   
       var currentPage=$('.ActiveMenu a[href*="'+page+'"]');   
       currentPage.addClass('active');
    
    });
    

    请添加/更改类名而不是Id

    $(function(){   
       var url = window.location.href;   
       var page = url.substr(url.lastIndexOf('/')+1);   
       var currentPage=$('.ActiveMenu a[href*="'+page+'"]');   
       currentPage.addClass('active');
    
    });
    
    请使用

    $(this).attr("id","active");
    
    请使用

    $(this).attr("id","active");
    

    所以问题是,函数不知道$(this)是什么。相反,您应该将目标设置为正确的元素,然后向其添加一个类。您不应该使用id,因为您应该只有一个id,并且它应该是唯一的标识符,而不是状态。课堂更适合它。让我知道这是否适合你!:)

    演示

     $(function(){   
      var url = window.location.href;   
      var page = url.substr(url.lastIndexOf('/')+1);   
       target = $('.ActiveMenu a[href*="'+page+'"]');   
       $(target).addClass('active');
    });
    
    
      <ul id="menu">
       <li id="Link1" class="ActiveMenu"><a href="URL1">Link 1</a></li>
       <li id="Link2" class="ActiveMenu"><a href="URL2">Link 2</a></li>
       <li id="Link3" class="ActiveMenu"><a href="URL3">Link 3</a></li>
      </ul>
    
    $(函数(){
    var url=window.location.href;
    var page=url.substr(url.lastIndexOf('/')+1);
    target=$('.ActiveMenu a[href*=“'+page+'”);
    $(目标).addClass('active');
    });
    

    所以问题是您的函数不知道$(this)是什么。相反,您应该将目标设置为正确的元素,然后向其添加一个类。您不应该使用id,因为您应该只有一个id,并且它应该是唯一的标识符,而不是状态。课堂更适合它。让我知道这是否适合你!:)

    演示

     $(function(){   
      var url = window.location.href;   
      var page = url.substr(url.lastIndexOf('/')+1);   
       target = $('.ActiveMenu a[href*="'+page+'"]');   
       $(target).addClass('active');
    });
    
    
      <ul id="menu">
       <li id="Link1" class="ActiveMenu"><a href="URL1">Link 1</a></li>
       <li id="Link2" class="ActiveMenu"><a href="URL2">Link 2</a></li>
       <li id="Link3" class="ActiveMenu"><a href="URL3">Link 3</a></li>
      </ul>
    
    $(函数(){
    var url=window.location.href;
    var page=url.substr(url.lastIndexOf('/')+1);
    target=$('.ActiveMenu a[href*=“'+page+'”);
    $(目标).addClass('active');
    });
    

    我认为
    更改/添加类而不是id
    $(this).addClass('active')
    如果您愿意使用PHP,那么使用它会容易得多。只要把这个添加到你的代码中就可以了
    我认为
    改变/添加类而不是id
    就像
    $(this).addClass('active')
    如果你愿意使用PHP,我想用它会容易得多。只需将此添加到您的代码中,就可以实现这个技巧
    ,OP语法与您的语法一样有效。attr可以接受jquery对象。请看,OP语法与您的语法一样有效。attr可以接受jquery对象。别担心!很高兴我能帮忙:)不用担心!很高兴我能帮忙:)