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

标签 jquery regex url filter 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 匹配,代码可以正常工作。但是,我无法弄清楚如何让代码在我位于类别的子页面时也触发,例如当网址为:

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");

关于jquery 如果 url 第一个路径名与 href 匹配,则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12765324/

相关文章:

php - jQuery 简单加载第一次调用花费太多时间

java - android,检查 url 是否可以下载东西

c# - 从 .net 页面中的 javascript 使用 Web 服务

c# - 正则表达式。分割为“()”和“?”

Python 使用正则表达式重命名文件

regex - 如何限制正则表达式中的可选空白匹配

PHP从地址栏中获取加密值不正确

android从编辑文本中获取url并在rest api中使用它来上传数据

jQuery:在表单内选择第一个子输入,但在类型:隐藏时不选择?

jquery - 你可以用jquery触发器设置event.data吗