【发布时间】:2020-03-17 10:33:24
【问题描述】:
以下代码位于已加载到 iframe #contframe 源 html 中的脚本中。该按钮位于 iframe 内。
为什么这仅在我引用该函数时才有效,就好像它来自父 HTML 一样?
例如,以下代码有效:
$(document).ready(function() {
var kuf = $('#contframe').contents().find('#zbtn');
kuf.click(function() {
alert("hello");
});
});
但是下面的函数根本不起作用:
$(document).ready(function() {
$('#zbtn').click(function() {
alert("oi");
});
});
【问题讨论】:
-
这是因为 iframe 的内容是与父页面完全不同的 DOM。这就是为什么您需要通过
contents()访问它的原因 -
@RoryMcCrossan:OP 似乎暗示此代码已加载到 iframe 中。不过不确定。
-
是的,它说明按钮在 iframe 中,但没有说明 JS 的位置。鉴于
contents()的工作用途,我只能假设它在父页面中。 -
脚本不在原始html中。
-
也许如果您没有过多地编辑我的问题,这将是有道理的。该脚本从 iframe 内部运行。
标签: javascript jquery iframe