看一下这个简单的HTML:
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
假设我想移动包装纸,使包装纸位于#wrap2
之前#wrap1
。iframe被JavaScript污染了。我知道jQuery的.insertAfter()
和.insertBefore()
。但是,当我使用它们时,iFrame会丢失其所有HTML,JavaScript变量和事件。
可以说以下是iFrame的HTML:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
// The variable below would change on click
// This represents changes on variables after the code is loaded
// These changes should remain after the iFrame is moved
variableThatChanges = false;
$(function(){
$("body").click(function(){
variableThatChanges = true;
});
});
</script>
</head>
<body>
<div id='anything'>Illustrative Example</div>
</body>
</html>
在上面的代码中,变量 variableThatChanges
如果用户单击主体将...更改。移动iFrame之后,此变量和click事件应保留(以及已启动的任何其他变量/事件)
我的问题是:使用JavaScript(带有或不带有jQuery),如何在DOM(及其iframe子级)中移动包装节点,以使iFrame的窗口保持不变,而iFrame的事件/变量/等保持不变。相同?