首页 > 解决方案 > 选择具有相同 URL id 的类

问题描述

我在一页上有一个过滤器。当用户进入这个页面时,如果他们有一个 ID,我希望这个过滤器触发那个 ID。

例如,如果 id = event,我希望触发事件过滤器。

有没有更流畅的方式来显示这个,而不是显示每个单独的 id?

例如,这是在下面工作: -

    if ( document.location.href.indexOf('#events') > -1 ) {
        $(".btn.events").trigger('click'); 
    }
    if ( document.location.href.indexOf('#video') > -1 ) {
        $(".btn.video").trigger('click'); 
    }

但如果这是流动的,它会工作得更好。我真的需要说一下URL是否有ID,然后找到具有相同类的按钮并触发此事件。

谢谢

标签: javascriptjqueryhtmlcss

解决方案


假设目标元素上的类始终与 URL 片段的内容匹配,那么您可以非常简单地对其进行泛化:

var fragment = window.location.hash;
if (fragment) {
  var target = fragment.substring(1);
  $(".btn." + target).trigger('click'); 
}

推荐阅读