获取当前URL,编辑它并输出到textarea

时间:2015-10-22 20:22:23

标签: jquery url input

我想创建一个小脚本,它将获取用户当前的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 );
    }

});

1 个答案:

答案 0 :(得分:0)

这将从URL中删除哈希值(如果有哈希值)。

if (url.indexOf("#") > -1) {
    url = url.slice(0, url.indexOf("#"));
}
$("#fastLinkInput").val(url + "#" + id);