Bonjour,
Dans le code suivant, la boucle ne s'arrête qu'avec la sécurité j>3. Je ne vois pas ce qui ne va pas dans la condition while.
EDIT: C'est bon, j'ai trouvé, il manquait les parenthèses de toLowerCase().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 for (let i=0, max=editableFields.length; i<max; i++) { (function (field) { field.addEventListener('blur', function(e) { console.log('this='+this); console.log('this.nodeName='+this.nodeName); console.log('this.parentNode.nodeName='+this.parentNode.nodeName); console.log('this.parentNode.parentNode.nodeName='+this.parentNode.parentNode.nodeName); let el = this , j=0; do { j++; el = el.parentNode; console.log(el); console.log(el.nodeName); if (j>3) break; } while ( el.nodeName.toLowerCase !== 'form' ); console.log(el); }); })(editableFields[i]); }
Partager