这段代码出了什么问题:
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 的信息。
不知道它是否与之无效的原因有关。
修改
iframe控制台元素prtscr:
所以我对整个情况感到困惑,因为我在使用jquery方面没有经验,这是我第一次将它与iframe一起使用。我甚至不确定#groundplan_popup_exit div是否已创建,如果是,我该如何找到它。
答案 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>');