|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 157 ![]() |
Bonjour.
Avec le code ci-dessous, lorsqu'on clique sur la div #div1, une boîte alert apparaît et 5 div sont générées sur la page. La génération des div se fait par l'intermédiaire de la function funcTest(). Au premier clic sur #div1, tout fonctionne. Mais aux suivants, plus rien ne fonctionne pour moi. Testé sur 4 navigateurs (or IE). Est-ce que ce code génère le même comportement chez vous ? Comment faire en sorte de pouvoir exécuter funcTest() autant de fois que l'on clique sur #div1 ? Merci. Code :
|
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
C'est effectivement un classique de innerHTML. Etant donné que tu remplace le contenu du body par une chaine, l'affichage se passe bien, mais tu perds les méthodes appliquées au DOM.
La solution est de passer par une fonction manipulant uniquement le DOM : Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 157 ![]() |
Ah ok... Merci.
Et cette perte des méthodes avec body.innerHTML, elle se retrouve de la même manière quel que soit l'élément HTML dont on remplace le contenu, ou c'est spécifique à certains éléments ? -- Et une question subsidiaire me taraude: en observant ton code, je remarque l'absence du mot-clé var lors de la définition des variables. Son utilisation n'est donc pas nécessaire ? N'est-elle que souhaitable ? Et pourquoi ? --- |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
A priori, c'est le cas pour tous les éléments, mais en sachant que cela n'affecte que ceux qui sont modifiés et uniquement sur certaines propriétés et / ou méthodes.
Par exemple, si tu modifies une div avec innerHTML, cela ne devrait pas avoir d'impact sur les éléments en dehors de cette div.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
Copyright © 2000-2012 - www.developpez.com