提问者:小点点

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


我想添加类链接,如果它是当前的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个答案

匿名用户

我不确定我得到你的点,你的代码应该是工作的,你能给你你的输出和一个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");