我想创建一个小脚本,它将获取用户当前的URL,并对其进行修改,以便使用ID锚点链接到页面上的元素。我有这里介绍的基础知识,但我不能围绕逻辑思考,如何使它成为可能。有一些不同的URL状态:
1) example.ex / test /
2) example.ex / test / page.html
3) example.ex / test /#或 example.ex / test /#old-id
4) example.ex / test / page.html#或 example.ex / test / page.html#old-id
我需要删除不需要的所有内容,但在不同情况下我需要删除不同的符号。在情况1和2中,我可以在末尾添加#id,并且链接将是正确的。在情况3和4中,我需要删除#及其后的所有内容,然后添加新的#id。对逻辑的任何帮助?提前谢谢。
$(".fast-link").on('click', function (event) {
event.preventDefault();
var url = $(location).attr('href'); // get current browser link
var id = $(this).parent().attr("id"); // get parent's ID
if (window.location.href.indexOf("#") > -1) {
// need to remove everything after # from url variable and insert (# + id) variable
} else {
$('#fastLinkInput').val( url + "#" + id );
}
});
答案 0 :(得分:0)
这将从URL中删除哈希值(如果有哈希值)。
if (url.indexOf("#") > -1) {
url = url.slice(0, url.indexOf("#"));
}
$("#fastLinkInput").val(url + "#" + id);