if (els[i].tagName.toLowerCase() === ('area' || 'base' || 'col' || 'command')) { return; }
'area' || 'base' || 'col' || 'command'
, получается у вас всегда проверяется if (els[i].tagName.toLowerCase() === 'area') { return; }
const values = ['area', 'base', 'col', 'command'];
if (values.includes(els[i].tagName.toLowerCase())) {
return;
}
'area'
это не ноль, не undefined
, не null
, а значит считается за истину, и операция || срабатывает на первой истине. Тем самым ты сравниваешь свое слово всегда с area
.let tags = ['area', 'base', 'col', 'command'];
if (tags .indexOf(els[i].tagName.toLowerCase()) >= 0) {
return;
}
if (els[i].tagName.toLowerCase() === 'area' ||
els[i].tagName.toLowerCase() === 'base' ||
els[i].tagName.toLowerCase() === 'col' ||
els[i].tagName.toLowerCase() === 'command'
) { return; }
let items = new Set(['area', 'base', 'col', 'command']);
if(items.has(els[i].tagName.toLowerCase())) {
return;
}