javascript - 如何检查url是否包含父页面url?

标签 javascript jquery url

我想检查当前 url 是否包含父 url 以将“事件”类添加到父列表项链接。

jQuery(function($) {
    var path = window.location.pathname;
    $('ul a').each(function() {
        if (this.pathname.indexOf( path )) {
            $(this).addClass('active');
        }
    });
});

我的 html 看起来像这样:

<ul>
    <li><a class="list-link">Posts</a></li>
    <li><a class="list-link">Blog</a></li>
    <li><a class="list-link">Contact</a></li>
</ul>

当转到 domain.com/contact/email 时,我想保留列表项以保持“事件”类。

最佳答案

如果我正确理解你的问题,你想将 active 类添加到你的 ul 列表中的 anchor 元素,如果 anchor 的文本存在于当前浏览器中小路。

这可以通过以下方式实现(有关详细信息,请参阅片段中的文档):

jQuery(function($) {

    //var path = window.location.pathname;
    var path = 'domain.com/contact/email';
    
    // Convert path to lower case for easier matching
    path = path.toLowerCase();
    
    $('ul a').each(function() {
        
        // Extract link label via text() method. Convert
        // label to lower case for easier matching
        var label = $(this).text().toLowerCase();
        
        // Use indexOf() to check for label existing in
        // path
        if( path.indexOf(label) !== -1 ) {
        
          // Add active class if match found
          $(this).addClass('active');
        }
    });
});
.active {
  background:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<ul>
    <li><a class="list-link">Posts</a></li>
    <li><a class="list-link">Blog</a></li>
    <li><a class="list-link">Contact</a></li>
</ul>

更新

我使用这段 jQuery 代码找到了我要找的东西:

jQuery(function($) {
    var path = window.location.pathname.split( '/' )[2];
    $('ul a').each(function() {
        if (this.href.indexOf( path ) != -1) {
            $(this).addClass('active');
        }
    });
});

关于javascript - 如何检查url是否包含父页面url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54316402/

相关文章:

javascript - jQuery each() 的 JSON 结构

javascript - 如何在 react 中将类名添加到变量内的元素?

jquery 在 var 中对 html 做一些事情

jquery - 执行函数时使用 Apache Cordova 振动 (jQuery Mobile)

facebook - 使用 URL 在移动平台上启动 Facebook 应用程序粉丝页面?

javascript - 如何从 URL 获取 GET 查询?

php - 将 url 更改为 "seo-url"

javascript - 使用 RegEx 和 .replace 替换用户输入的文本?

javascript - 单个 div 中的多个光滑 slider

javascript - 如何使我的表单正确自动缩放?