Jetez un oeil à cette simple HTML:
<div id="wrap1">
<iframe id="iframe1"></iframe>
</div>
<div id="warp2">
<iframe id="iframe2"></iframe>
</div>
Disons que j'ai voulu déplacer l'enveloppe de sorte que l' #wrap2
serait avant l' #wrap1
. Les iframes sont pollués par du JavaScript. Je suis conscient de jQuery .insertAfter()
et .insertBefore()
. Cependant, lorsque j'utilise ceux-ci, l'iFrame perd tous ses HTML, et JavaScript variables et événements.
Disons que ce qui suit a été l'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>
Dans le code ci-dessus, la variable variableThatChanges
serait...changer si l'utilisateur a cliqué sur le corps. Cette variable, et l'événement de clic, devrait rester après l'iFrame est déplacé (ainsi que toutes les autres variables/les événements qui ont été commencés)
Ma question est la suivante: avec JavaScript (avec ou sans jQuery), comment puis-je déplacer l'envelopper les nœuds du DOM (et leurs iframe childs), de sorte que l'iFrame de la fenêtre reste le même, et l'iFrame événements/les variables/etc restent les mêmes?