我正在尝试获取子iframe并在我的div中设置它的源名为“myLittleModal”
function createModalElement( modalClassName ) {
return $('body').append("<div class=\""+ modalClassName + "\"><iframe></iframe></div>");
}
var modalElement = createModalElement( "myLittleModal" );
//alert(modalElement.text());
modalElement.find('iframe').attr('src', "modal.html");
但它实际上不仅改变了iframe的来源,而且还改变了另一个iframe的来源,这根本不是这个特定元素的孩子。 ???为什么!?
我认为modalElement将是我创建的特定元素的句柄,通过它我可以操纵它的特定子iframe(不需要类,因为它是我可以设置类的子类)。
在Chrome中查看源代码控制台后,我发现它还在更改页面上另一个iframe的源代码,现在用于测试目的,加载实时页面。 WHY ???
如果我也使用儿童(“iframe”)功能,也会发生这种情况。
请帮忙
答案 0 :(得分:0)
尝试使用以下内容替换createModalElement
功能:
function createModalElement( modalClassName ) {
$('body').append("<div class=\""+ modalClassName + "\"></div>");
return $('.' + modalClassName).append("<iframe></iframe>");
}
我所做的是分割追加行动,只有return
- 第二个。
您的原始iframe
(在js调用之前存在的那个)很可能被这个新函数调用的div所包围,因为您使用了append
body
。在我修改后的代码中,我将iframe
附加到已创建的div
,因此当您应用属性时,它将仅应用于该属性。再说一遍,我不是百分之百确定这是答案,但我确实可以使用我的代码。