微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

<a href> 将查询参数添加到当前现有查询参数的链接

如何解决<a href> 将查询参数添加到当前现有查询参数的链接

如何创建 <a href="?param2=17"> 链接,以便:

  • 如果浏览器中的当前 URL 是 example.com/index.html,点击它会导致 example.com/index.html?param2=17

  • 如果浏览器中的当前 URL 是 example.com/index.html?foo=bar,点击它会导致 example.com/index.html?foo=bar&param2=17 而不是 example.com/index.html?param2=17

  • 如果浏览器中的当前 URL 是 example.com/index.html?foo=bar&param2=10,点击它会导致 example.com/index.html?foo=bar&param2=17 而不是 example.com/index.html?foo=bar&param2=10&param2=17

TL;DR:将查询参数添加到当前 URL 而不是完全删除当前查询参数链接

如果 HTML 无法实现,那么最简单的 Javascript 方法是什么?

解决方法

向您的 onclick 标记添加 a 属性并实现回调以获取事件目标并将其与 window.location 合并。

,

基于@MetallimaX 的回答,这是一个可行的解决方案:

function update(a,b) {
    var searchParams = new URLSearchParams(window.location.search);
    if (b != '')
        searchParams.set(a,b);
    else
        searchParams.delete(a);
    window.location.search = searchParams.toString();
}
<a onclick="update('foo','bar');">Click on my link</a>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。