Salut, logiquement si ton élément à une id et que tu veuilles le faire disparaitre, c'est plus simple de le mettre en display none, que le supprimer purement et simplement de la page avec un innerHTML.
Bonjour tu ne peut pas juste re sélectionné les éléments après avoir fait le innerHTML pour les mettre à jour ?
Au moment du chargement tu dois faire des sélections initiales et après avoir changé le contenue via (innerHTML) tu pourrais peut être mettre à jour les sélections initiales, un exemple illustratif serait:
<button id="change-content">
change content
</button>
<div id="container">
<div>
<button id="button-1">
click me
</button>
<div id="text-content">
<p>
Hello world!
</p>
</div>
</div>
</div>
<script>
// selectionne le container qui change de contenue
const container = document.querySelector('#container');
// selectionne un bouton qui permet de déclanché le changement de contenue
const btnChangeContent = document.querySelector('#change-content');
// selectionne les elements initiaux dans le contenue
var button1 = document.querySelector('#button-1');
var textContent = document.querySelector('#text-content');
// écoute le click sur le bouton qui change le contenue
btnChangeContent.addEventListener('click', function() {
// ici met à jour le contenue en changeant directement le contenue HTML
// la selection des elements initiaux n'est plus valide
container.innerHTML = `
<div>
<button id="new-button">
new click me
</button>
<div id="new-text-content">
<p>
hello world!
</p>
</div>
</div>
`;
// selectionne les nouveaux elements qui sont dans le contenue
button1 = document.querySelector('#new-button');
textContent = document.querySelector('#new-text-content');
});
</script>
J'ai compris ce que tu veux dire, je résume pour être sur d'avoir bien compris et être sur que c'est une bonne pratique.
j'ai une div container dans laquelle j'ai trois div. C'est trois div sont mise à jour en fonction d'évènements.
D'après ton explication, il faut mieux charger toutes les fenêtres et les cacher ou montrer en fonction des interactions plutôt que remplacer le contenu avec un innerHTML.
Est-ce que j'ai bien compris ?
Est-ce que le premier chargement de ma page ne risque pas d'être très long ?
Je comprend mieux, donc tu veux gérer l'affichage de tes divs dynamiquement via le JS.
Vaut mieux éviter de passer par innerHTML, bien que très pratique, il peut causer des problèmes de sécurité.
Pour la méthode du display:none, si tu as des données à cacher, ce n'est pas la meilleure pratique, il suffit d'aller dans le CSS, et modifier le display.
A cet égard, tu peux voir ma vidéo sur comment hacker un site uniquement via le CSS. Néanmoins, le hack via le code source du JS est également possible, même si ca demande plus de connaissance.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Je suis débutant mais je travail dur !
La meilleure solution est toujours la plus simple. Ma chaîne Youtube [Tutos pour débutants]
Je suis débutant mais je travail dur !
La meilleure solution est toujours la plus simple. Ma chaîne Youtube [Tutos pour débutants]
suggestion de présentation.
Je suis débutant mais je travail dur !
La meilleure solution est toujours la plus simple. Ma chaîne Youtube [Tutos pour débutants]
Je suis débutant mais je travail dur !