首页 > 解决方案 > 基于锚链接的状态更改 - 在负载上起作用,但如果锚更改则不起作用?

问题描述

我正在为我自己的发展和我的一生从事一个个人项目,我无法解决我的问题。

我的问题:如果地址栏中的#anchor 变量是“this”,则添加该类。这方面工作正常,但是如果单击按钮并且更改了锚点,则该类不会自行应用。如何通过代码修改状态更改?任何想法或建议表示赞赏。

我尝试了多种组合,但下面的组合最接近我的感觉?

jQuery(function($) {
  var path = location.href;
  $('li a').each(function() {
    if (this.href === path) {
      $(this).addClass('current-link');
    }
  });
});

标签: javascriptjquerywordpressif-statementanchor

解决方案


尝试,

jQuery(function($) {
  var path = location.href;
  $('li a').each(function() {
    if (this.href === path) {
      $(this).addClass('current-link');
    }
  });

  // Add this code
  $('li a').click( function() {
    $( this ).parents('ul').find('.current-link').removeClass('current-link');
    $( this ).addClass('current-link');
  } );
});

推荐阅读