Jetez un œil à ce HTML simple:
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
Disons que je voulais déplacer les wraps pour que le #wrap2
soit avant le #wrap1
. Les iframes sont polluées par JavaScript. Je connais jQuery .insertAfter()
et .insertBefore()
. Cependant, lorsque j'utilise ceux-ci, l'iFrame perd toutes ses variables et événements HTML et JavaScript.
Disons que ce qui suit était le HTML de l'iFrame:
<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>
Dans le code ci-dessus, la variable variableThatChanges
changerait si l'utilisateur cliquait sur le corps. Cette variable, et l'événement de clic, doivent rester après le déplacement de l'iFrame (avec toutes les autres variables / événements qui ont été démarrés)
Ma question est la suivante: avec JavaScript (avec ou sans jQuery), comment puis-je déplacer les nœuds wrap dans le DOM (et leurs enfants iframe) afin que la fenêtre de l'iFrame reste la même et que les événements / variables / etc de l'iFrame restent les même?