jquery如果url第一个路径名匹配href则

这也是对其他线程的引用:
jQuery – If URL matches href then move LI to top of UL?

Jquery代码:

//set var to current url
var url = window.location.toString();

//if url matches li's anchor then bring it to the top of the list
$('.nav li a').each(function(){
   var myHref= $(this).attr('href');
   if( url == myHref) {
        $(this).closest("li").prependTo(".nav");
   }
});

HTML只是来自Wordpress导航,所以类似于:

<navrole="navigation">
  <ul>
    <li>
      <a href="">

导航指向类别,并且url匹配href的罚款和代码工作.但是,当我在一个类别的子页面中时,我无法弄清楚如何使代码也被触发,例如当url是:

domain.com/category-name/child-page

如果我可以让Jquery只检测通过域的第一个路径名,那么我将是金色的.超过第一个路径名的任何内容都可以省略或设置为外卡或其他内容.

有任何想法吗?

最佳答案 您可以尝试使用属性包含选择器:

var dom = document.domain;
var f = location.pathname.split('/')[1]; 
var url = dom + "/" + f;

$('.nav li a[href*="'+url+'"]').closest("li").prependTo(".nav");
点赞