Javascript 通过Jquery更改操作后的链接

Javascript 通过Jquery更改操作后的链接,javascript,jquery,events,Javascript,Jquery,Events,我有一个下载链接,在用户下载后,我想删除下载链接并更改文本。我能够做到这一点,但它做得太快,用户将无法下载exe文件。如果我以某种方式拖延,这会是一个解决办法吗?有没有更好的方法来做我正在做的事情 这是我的JS function removeLink(){ try{ $('#downloadLink').text("Thank You For Downloading This Software!"); $('#downloadLink').attr('hr

我有一个下载链接,在用户下载后,我想删除下载链接并更改文本。我能够做到这一点,但它做得太快,用户将无法下载exe文件。如果我以某种方式拖延,这会是一个解决办法吗?有没有更好的方法来做我正在做的事情

这是我的JS

function removeLink(){
    try{
        $('#downloadLink').text("Thank You For Downloading This Software!");
        $('#downloadLink').attr('href', 'javascript:void(0)');
    }
    catch(err){
        alert(err.message);
    }
}
链接


我也知道这不是一种非常“安全”的方式,因为我只是使用javascript,但这主要是针对普通用户的。

类似这样的吗

$('#downloadLink').click(function() {
  $(this).replaceWith('<span>Thanks for downloading...</span>');
});
$('downloadLink')。单击(函数(){
$(this.replaceWith('谢谢下载…');
});

如果仍然存在无法工作的问题,请放置一个
window.location='download.exe'位于单击功能的顶部。

因此-知道这不是一种安全的方法-有什么问题:

$('a').on('click', function() {
    $(this).text('Thank You For Downloading This Software!').removeAttr('href');
});​

将选择器更改为任何适用的值,而不是
$('a')

您可能不需要函数removeLink(),因为您没有调用它。改用

$(document).ready(){

});
还有你的超时问题

使用jQuery的

另一件事是你正在打电话#downloadLink。。。别忘了将ID添加到标记中

编辑:
正如其他人所说,您可能只想在jQuery中完成整个功能。

问题是,它没有机会下载。它将更改文本和href,但exe文件不会下载,我假设这是因为javascript太快(?)请确保您已经覆盖了您的基础-如果用户单击下载,取消下载,然后想再试一次,会发生什么?这非常有效。我不得不将window.location放在函数的顶部,但是replaceWith()是一个我不知道的很酷的函数!谢谢
$(document).ready(){

});