在Internet Explorer中创建URL时,jquery after()无法正常工作

时间:2010-06-27 13:06:41

标签: jquery internet-explorer

所以我有一个通过asp.net导出一些异步数据的函数,并在页面上显示一个URL来下载导出的文件,它在chrome中完美运行。但是在Internet Explorer中,它会显示链接,但链接不是可点击的,它只是呈现为纯文本!

返回的数据Export.aspx包含导出文件的URL。 (记住它在chrome中完美运行)

function doExport(oper) {
                var pass = prompt("Please enter the Admin password", "none");
                if (hex_md5(pass) == "592e19c40272fcc615079c346a18d140") {
                    $("#btnExportStat").attr('disabled', 'disabled');
                    $("#btnExportView").attr('disabled', 'disabled');
                    $("#btnAfter").after("<p id='loading'>Please wait...<img src='images/loading.gif' /></p>");
                    jQuery.post("Export.aspx", { "type": oper }, function (data) {
                        $('#loading').remove();
                        if (data.toString() == "error") {
                            $('#btnAfter').after("<b>There was an error</b>");
                        } else {
                            var d = new Date();
                            var curr_hour = d.getHours();
                            var curr_min = d.getMinutes();
                            var sec = d.getSeconds();
          ========>>>//$('#btnAfter').after("<a href='" + data + "'>" + "Click here to Download File(" + curr_hour + ":" + curr_min + ":" + sec + ")</p>");
                            $("#btnExportStat").attr('disabled', '');
                            $("#btnExportView").attr('disabled', '');
                        }
                    });
                } else {
                alert("Incorrect password");
                }
            }

1 个答案:

答案 0 :(得分:2)

您从<a>开始,但以</p> ...

结束

叫我老式,但我通常会添加不同的标记:

$('#btnAfter').after($("<a/>")
  .attr('href', data)
  .text("Click here to Download File(" + curr_hour + ":" + curr_min + ":" + sec + ")")
);

然后制作这样的拼写错误有点困难。