3 réponses
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
18 mars 2019 à 11:05
18 mars 2019 à 11:05
Bonjour,
Ne mets pas les parenthèses
li.childNodes[i].addEventListener('click',suppression());
Ne mets pas les parenthèses
li.childNodes[i].addEventListener('click',suppression);
bon il y a plus simple et plus élégant mais ça devrais vous donner des idées:
Bien sûr on peut très bien ajouter une condition pour que le paramètre contenu puisse aussi ajouter un HTMLElement dans un autre(au lieu de seulement du texte), ce qui peut être pratique.
<!doctype html> <html> <head> <style type="text/css" rel="stylesheet"> span{background-color:#fac0c0;} </style> </head> <body> <script> document.body.onload = function(){//-- pour être sûr function videLaPage(){ document.body.innerHTML='';//-- c'est plus joli avec remove mais plus long à écrire } function ajoutContenu( tag, contenu , cible ){ var tmp = document.createElement(tag); if(tmp.constructor.name != 'HTMLUnknownElement'){//-- vérifie que tag est un élement valide cible.appendChild(tmp); if(typeof contenu === typeof ''){//-- le contenu est du texte tmp.appendChild( document.createTextNode(contenu) ); } return tmp; } console.log('mauvais nom de balise: '+tag); return; } ajoutContenu('p', 'du texte', document.body); ajoutContenu('c',' pas bon' , document.body); ajoutContenu('span', ' *un sous-texte dans le premier \'p\'* CLIQUER POUR VIDER ', document.getElementsByTagName('p')[0]).addEventListener( 'click', videLaPage ); } </script> <body>
Bien sûr on peut très bien ajouter une condition pour que le paramètre contenu puisse aussi ajouter un HTMLElement dans un autre(au lieu de seulement du texte), ce qui peut être pratique.
18 mars 2019 à 11:35
19 mars 2019 à 12:49
il est bien compliqué ce script, pas évident de voir l'erreur.
Déjà
Je fait quelque chose d'un peu plus fonctionnel et je le propose bientôt.
19 mars 2019 à 14:30
19 mars 2019 à 15:17
Suite à la suppression du body j'essaye de créer du code html avec un fichier avascript externe, j'integre donc une balise <script> et j'y ajoute la source de mon fichier. Mais quand je teste rien ne s'affiche, sauriez vous pourquoi ?
Modifié le 20 mars 2019 à 08:15
Bien sûr si le script est dans body et que vous l'enlevez c'est sûr que ça marchera pas. D'où l'intérêt d'ailleurs de ne pas tout effacer mais de changer que ce qui doit changer en gardant le body sinon autant mettre un lien vers une nouvelle page ça sera mieux.
Sans voir le code de toute façon impossible à dire mais la syntaxe est ceci: