当前位置: 首页 > 知识库问答 >
问题:

如何添加类到一个链接,如果它是当前的URL?

蒋栋
2023-03-14

我想添加类链接,如果它是当前的URL。

URL结构如下:http://localhost/search?date=2010&number_of_books=10

/search?query1&query2&query3...


我可以使用以下代码将类添加到“当前URL链接”:

<script>
    $(document).ready(function($) {
        $("a").each(function () {
            var href = $(this).attr('href');
            var current_url = location.pathname + location.search;
            if (current_url == href) {
                $(this).addClass('active');
            }
        });
    });
</script>


如何检查当前页面的URL(搜索参数)和链接的URL(搜索参数)是否相同,然后才能将类添加到此链接?

例如,如果我在页面:/search?date=2010&author=adam+smith,并且如果链接href是/search?author=adam+smith&date=2010,那么我也要向此链接添加类。(注意:考虑到这两个链接具有相同参数。)

共有1个答案

司空坚
2023-03-14

我不确定我得到你的点,你的代码应该是工作的,你能给你你的输出和一个HTML页面的样本吗?

否则,您可以简单地使用查询选择器或JQuery:

var currentURL = (window.location.pathname.substr(window.location.pathname.lastIndexOf('/') + 1));
var currentURLLink = document.querySelectorAll("a[href='"+currentURL+"']");

这将获得URL的最后一段,然后获得一个数组,其中所有链接都与此匹配。如果你的链接href是完整路径,那么你可以使用一个regex只获得搜索部分。

然后您可以简单地向这个var添加一个类:

currentURLLink[0].setAttribute("class", "Your Class");
 类似资料:
  • 我有一个活动选项卡的自动播放选项卡类current,这意味着当该选项卡活动时, 有一个名为current的类。现在我要向第一个子 添加不同的类 null null

  • 问题内容: 我们将注释定义为接口,如下所示 而且我们知道所有注释默认都会扩展接口。 当我检查接口的Java库时,我发现它覆盖了Object类等许多方法。 如果Annotation是一个接口,那么它如何扩展Object类并覆盖其方法?接口只能扩展其他接口,不能扩展类。 问题答案: 所以我的问题是,如果Annotation是一个接口,那么它将如何扩展Object类并覆盖其方法 不完全是。Java语言规

  • 问题内容: 单击按钮后,我需要添加“活动”类,并删除所有其他“活动”类。 请在这里查看:https : //codepen.io/azat- io/pen/RWjyZX 我如何在这里做得更好? 问题答案: 很简单。看看这个 https://codepen.io/anon/pen/mepogj?editors=001 基本上,您想处理组件的状态,因此您要检查当前处于活动状态的组件。您将需要包括 在链

  • 我想知道如何链接到同一liferay网站中的另一个页面。 显然,我可以在我的portlet视图中硬编码url,但是我担心必须更新所有的portlet,以防友好的url在未来发生变化。 我知道我试图链接到的页面的名称,但是如果页面名称也改变了呢? 我发现了无数具有返回友好URL的方法的类,例如,,甚至,但它们都需要我不确定如何获取的参数。 是否有一个标准的方式获得友好的网址?

  • 我正在尝试编写一个名为addStart()的函数,以在列表字符串的第一个节点的前面添加新元素。请帮我弄清楚。 我有两个班级,分别名为Waypoint和TourElement班级。航路点提供了使用点的方法。巡更元素包含许多点。 //航路点.java //旅游Element.java //我需要addStart函数//的帮助,它在第一个元素前面添加了way point。如果参数为null,则返回unc