Boucle do/while ne s'arrête pas
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.
Code:
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]);
} |
EDIT: C'est bon, j'ai trouvé, il manquait les parenthèses de toLowerCase().