Fix class normaliser also normalising classes of elements outside the passed element

This commit is contained in:
Samuel Elliott 2018-08-10 14:29:31 +01:00
parent c8381eb808
commit a4992e905c
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6
1 changed files with 5 additions and 2 deletions

View File

@ -65,8 +65,7 @@ export default class ClassNormaliser extends Module {
normalizeElement(element) {
if (!(element instanceof Element)) return;
if (element.children && element.children.length) this.normalizeElement(element.children[0]);
if (element.nextElementSibling) this.normalizeElement(element.nextElementSibling);
const classes = element.classList;
for (let c = 0, clen = classes.length; c < clen; c++) {
if (!randClass.test(classes[c])) continue;
@ -74,6 +73,10 @@ export default class ClassNormaliser extends Module {
const newClass = match.split('-').map((s, i) => i ? s[0].toUpperCase() + s.slice(1) : s).join('');
element.classList.add(`${normalizedPrefix}-${newClass}`);
}
for (let child of element.children) {
this.normalizeElement(child);
}
}
}