将类激活添加到所选锚点

时间:2017-09-04 16:18:39

标签: javascript jquery

我已经使用jQuery代码在我的主播之间切换我的活动类,但遗憾的是它不起作用,并且它正在将所有类添加到所有锚中。

$(function() {
  $('.categories-list li a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active');
});

我的主播看起来像那样:

<a href="/blog/category/motoring+advice+&amp;+tips" class="active">motoring advice &amp; tips</a>
<a href="/blog/category/motoring+news+&amp;+updates" class="active">motoring news &amp; updates</a>

活跃的类重复了他们,这不是我想要实现的。我试图将其编辑为:

$(function() {
  $('.categories-list li a[href^="/blog/category/' + location.pathname.split("/")[1] + '"]').addClass('active');
});

但它仍然没有用。

.categories-list li

这只是我的ul课程和我的li

2 个答案:

答案 0 :(得分:0)

您的jquery选择器匹配所有锚点,使用ID,更精确的选择器,或使用.eq(x),其中x是您想要的节点的索引。

答案 1 :(得分:0)

多数民众赞成我如何解决这个问题。

$(document).ready(function() {
        addActiveClass();

        function addActiveClass() {
          var current = window.location.pathname;
          $('.categories-list-blog li a').each(function() {
            var link = '' + $(this).attr('href');
            if (current == link) {
              $(this).addClass('active');
            }
          });
        }
      });