如何使用jQuery为URL添加参数并移除末尾的#/字符
要实现需求只需要在拼接查询参数前,将URL末尾的#/字符移除即可,这里可以用正则匹配替换的方式处理:
修改后完整代码
JS逻辑
$('#drop').on('change', function(e) { if (e.handled !== true) { e.handled = true; var url = 'https://www.geoplug.docksal/sales/rentals#/'; // 匹配并移除URL末尾的 #/ url = url.replace(/#\/$/, ''); var targetUrl = url + '?sort=' + this.value; // window.location.href = targetUrl; console.log(targetUrl); } });
HTML结构
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select id="drop"> <option selected>Open this select menu</option> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> </select>
补充说明
上述用到的正则/#\/$/只会匹配URL末尾固定的#/字符,如果URL后续没有带#/后缀也不会破坏原有URL结构,兼容性更好。
内容的提问来源于stack exchange,提问作者vyshnavi
相关产品推荐
相关产品推荐

