Отредактируйте ссылку href перед отправкой запроса

У меня есть этот код:

<a class="myLink" href='http://www.website.it/'>Link</a>

<script type="text/javascript">
    var stringToSend = "";
    $('.myLink').click(function() {
        stringToSend="?param=1";
    }); 
</script>

и, как вы можете видеть, я хотел бы добавить stringToSend в href (так что запрос будет на http://www.website.it/?param=1).

Как мне это сделать?

Ответ 1

Просто измените href с помощью нового href и все готово.

$('.myLink').click(function() {
    $(this).attr("href", this.href + "?param=1");
});

Ответ 2

Вы также должны запретить поведение по умолчанию следующим образом:

var stringToSend = "";

// Use this to actually navigate to the changed Uri
$('.myLink').click(function(event) {
    event.preventDefault();
    stringToSend = "?param=1";
    window.location.href = $(this).attr('href') + stringToSend;
}); 

// Use this just to change the Href, without navigating to uri
$('.myLink').click(function(event) {
    event.preventDefault();
    stringToSend = "?param=1";
    var newUri = $(this).attr('href') + stringToSend;
    $(this).attr("href", newUri);
});

Ответ 3

Когда вы нажимаете, вы можете остановить текущий URL-адрес и перейти к другому:

var stringToSend = "";
$('.myLink').click(function() {
    stringToSend="?param=1";
    window.location.href = $(this).attr('href') + stringToSend; // navigate to new URL
    return false; // abort navigation to URL from <a>
}); 

Ответ 4

Просто установите window.location на свой клик и верните false, чтобы предотвратить поведение по умолчанию.

Например:

<a class="myLink" href='http://www.website.it/'>Link</a>

<script type="text/javascript">
    var stringToSend = "";
    $('.myLink').click(function() {
        window.location.href = this.href + "?param=" + stringToSend;
        return false;
    }); 
</script>