当我尝试使用jQuery编辑iframe体时。我无法让它发挥作用。但是使用标准的JS,我可以使用它。
我的标准js代码:
$("#add-page").click(function () {
var iframe = document.createElement("iframe");
$("#page-frames").append(iframe);
iframe.onload = function (e) {
var content = (iframe.contentWindow || iframe.contentDocument);
if (content)
content = content.document;
var iBody = $(content.body);
//etc
}
});
工作正常。
但是使用jQuery,我会遇到类型错误。我没有写点击事件。但它们在点击事件中:
var iframe = $("<iframe></iframe>");
$("#page-frames").append(iframe);
iframe.load(function(){...});
这是错误:
TypeError: a.indexOf is not a function[Learn More] jquery-3.2.1.min.js:4:18892
r.fn.load https://code.jquery.com/jquery-3.2.1.min.js:4:18892
<anonymous> file:///home/guervyl/test.html:9:1
并且下一个代码返回$(this)作为父页面文档
var iframe = $("<iframe></iframe>");
$("#page-frames").append(iframe);
iframe.ready(function(){
//$(this) is not the iframe. But the iframe parent page document
});
jQuery的问题是什么?