【问题标题】:Remove href values from url [duplicate]从 url 中删除 href 值 [重复]
【发布时间】:2017-11-06 13:52:50
【问题描述】:
<a href="#get1"><button type="button" class="btn btn-outline-info btn-sm">GET</button></a>

所以我在多个页面上有许多这样的锚点。他们不会链接到另一个页面,只是将用户滚动到具有相同 ID 的部分。

点击它会在 url 中添加“#get1”,是否有删除/禁用此功能的方法?

【问题讨论】:

  • “点击时会在 url 中添加 '#get1'” - 究竟是什么添加了这个标签?
  • 分享你的完整代码
  • 删除href="#get1" 可能吗?
  • w3schools.com/tags/att_a_href.asp 链接到页面中具有指定 id 的元素(如 href="#top") 这是使用这种类型的 href 的一部分。因此,您可以链接到页面中的 ID。
  • @BadMiscuit,那么滚动将无法正常工作......另外,Kyle,我不知道应用程序,但有时让 URL 能够被调用是有好处的锚

标签: jquery html ajax


【解决方案1】:

是的,通过使用 jQuery(或纯 JS,但你有一个 jQuery 标签)劫持它。在单击时,您会阻止实际事件(因此锚永远不会像默认锚那样工作,例如:不要更改位置)然后执行任何scroll actions with javascript

$('.example').on('click', function(e){
    e.preventDefault();
    const elem = this; // save it so we can use it in the animate

    $('html, body').animate({
        scrollTop: $( $(elem).attr('href') ).offset().top
     }, 2000);
});

在我的示例中,我假设您在 href 中有“#example”,并且有一个匹配的 ID。如果您想要更复杂的选择,您应该将attr('href') 部分更改为例如data() 属性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 2013-04-20
    • 2011-12-03
    • 2017-05-22
    • 2020-08-12
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多