Je vais l'admettre. Je ne comprends pas les fermetures. Peu importe le nombre de vidéos que je regarde, ou les explications que je lis, elles me dépassent. C'est assez embarrassant, car j'ai vu qu'environ 14 000 personnes sautaient de joie après avoir lu les explications ici :
Comment fonctionnent les fermetures JavaScript ?
Mais malgré mon ignorance, je pense que je pourrais avoir besoin de fermetures pour résoudre mon problème. Le voici : J'ai mis en place un couple de <div>
Tags dans le but exprès de me donner quelque chose que je puisse cloner dans une routine JavaScript. Voici mon <div>
structure. C'est de la pure perfection.
<div id="Anchor-Div-01">
<div id="Display-Div-02">
<p>This is a Test</p>
</div>
</div>
J'ai créé plusieurs boutons HTML qui entraînent diverses routines JavaScript à perturber intentionnellement soit le paragraphe, soit la balise "Display-Div-02", et je veux pouvoir les remettre dans leur forme originale. À cette fin, lorsque la page Web a été initialement chargée, j'ai utilisé les deux équations ci-dessous pour cloner le nœud original "Display-Div-02" qui a ensuite été enregistré dans la variable "Div_Clone_02" (comme indiqué ci-dessous).
var Temp_Anchor_1 = document.querySelector("#Anchor-Div-01");
var Div_Clone_02 = Temp_Anchor_1.children[0].cloneNode(true);
J'ai également placé un bouton "Reset" sur la page qui supprimera le nœud défectueux, puis copiera le nœud "Div_Clone_02" dans l'espace vide, pour tout ramener à son état initial de perfection.
Malheureusement, ma variable "Div_Clone_02" dépend de l'état actuel (erroné) de la variable "id=Display-Div-02". <div>
et le <p>
car ces deux balises HTML sont cachées dans les enfants [0] ci-dessus. Ainsi, mon nœud "Div_Clone_02" n'est plus un clone de l'original. <div>
le nœud cloné est précisément aussi raté que l'est le Display-Div-02.
Je ne suis pas assez stupide pour revenir à ces deux équations et recalculer la valeur du nœud "Div_Clone_02" (alors que la balise "Display-Div-02" est dans un état de confusion). Mais le navigateur recalcule subrepticement le Clone dans mon dos, sans que je lui demande de le faire.
Quelqu'un peut-il me dire comment enregistrer la valeur initiale de ma variable Clone ("Div_Clone_02" ci-dessus), puis sauvegarder cet état initial dans un ( oserais-je le dire ?) espace sécurisé ... où il ne sera pas détruit par toutes les routines JavaScript malveillantes qui tentent de gâcher ma page Web parfaite ?