gpt4 book ai didi

javascript 函数转换为 jquery 等价函数

转载 作者:行者123 更新时间:2023-11-28 11:24:34 25 4
gpt4 key购买 nike

我有一个如下编写的 JavaScript 函数,它在 Firefox 中可以很好地下载给定的 txt 内容。

  self.downloadURL = function (url) {
var iframe;
iframe = document.getElementById("hiddenDownloader");
if (iframe === null) {
iframe = document.createElement('iframe');
iframe.id = "hiddenDownloader";
iframe.style.display = "none";
document.body.appendChild(iframe);
}
iframe.src = url;
}

但由于某些原因,它不能在 IE 9 上正常工作。所以我尝试转换成等效的jquery,因为jquery与所有浏览器兼容。

这是相同功能的 jquery 等效项:

   self.downloadURL = function (url) {
var iframe;
iframe = $("#hiddenDownloader");
if (iframe === null) {
iframe = $('<iframe></iframe>');
iframe.id = "hiddenDownloader";
$("#hiddenDownloader").css("display", "none");
$(document.body).append(iframe);
}
iframe.src = url;
}

但现在它在两种浏览器中都不起作用。请帮助我知道我做错了什么。

最佳答案

您的问题在于:

iframe = $('<iframe></iframe>');
iframe.id = "hiddenDownloader";

iframe 指的是 jQuery 对象而不是 DOM 节点。您必须使用 .prop 来设置 id:

iframe = $('<iframe></iframe>');
iframe.prop('id', "hiddenDownloader");

你也有同样的问题:

if (iframe === null) {

您需要检查iframe的长度:

if (iframe.length === 0) {

再次在iframe.src = url;也许你可以弄清楚这一点:

iframe.attr('src', url);

但是为什么要将普通 JavaScript 转换为 jQuery?

关于javascript 函数转换为 jquery 等价函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18636512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com