将div添加到iframe

时间:2016-02-08 10:43:15

标签: javascript jquery html css iframe

这段代码出了什么问题:

jQuery('<iframe id="groundplan_popup" class="groundplan_hidden" />').appendTo("#popup_holder");
var iframe = jQuery("#groundplan_popup");
iframe.attr("src","::censored::" + filename);
var iframe_body = iframe.contents().find('body').append('<div id="groundplan_popup_exit"></div>');
var exit_btn_gp = iframe_body.append(jQuery("#groundplan_popup_exit"));

所以我必须动态创建一个iframe元素,它将在弹出窗口中打开.pdf文件并且该部分有效。我无法做的是在iframe中创建一个id为“groundplan_popup_exit”的div。我不知道为什么这不起作用以及我究竟做错了什么。当我检查iframe窗口控制台时会发出此警告:

  不推荐使用

/ deep / combinator。有关详情,请参阅https://www.chromestatus.com/features/6750456638341120   的信息。

不知道它是否与之无效的原因有关。

修改

这就是我现在的代码。 enter image description here

控制台prtscr: enter image description here

iframe控制台元素prtscr:

enter image description here

所以我对整个情况感到困惑,因为我在使用jquery方面没有经验,这是我第一次将它与iframe一起使用。我甚至不确定#groundplan_popup_exit div是否已创建,如果是,我该如何找到它。

1 个答案:

答案 0 :(得分:0)

我看到了一些问题:

var iframe_body = iframe.contents().find('body').append('<div id="groundplan_popup_exit"></div>');

此处您已将元素附加到正文。

var exit_btn_gp = iframe_body.append(jQuery("#groundplan_popup_exit"));

在上面添加后,您尝试使用jQuery("#groundplan_popup_exit")再次追加,但该版本甚至不存在。

修复(未经测试)将是这样的:

var iframe_body = iframe.contents().find('body');
var exit_btn_gp = iframe_body.append('<div id="groundplan_popup_exit"></div>');