From 43a501745819b5e0cc3fc1cfa2a934238c82a15e Mon Sep 17 00:00:00 2001 From: takaya1992 Date: Fri, 6 Jan 2023 01:42:18 +0900 Subject: [PATCH] #686@patch: Fixed infinite loop bug when there is no number before 'n'. --- packages/happy-dom/src/query-selector/SelectorItem.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/happy-dom/src/query-selector/SelectorItem.ts b/packages/happy-dom/src/query-selector/SelectorItem.ts index b24e4a970..bb1a968ad 100644 --- a/packages/happy-dom/src/query-selector/SelectorItem.ts +++ b/packages/happy-dom/src/query-selector/SelectorItem.ts @@ -170,7 +170,7 @@ export default class SelectorItem { } else if (place.includes('n')) { const [a, b] = place.replace(/ /g, '').split('n'); const childIndex = children.indexOf(element); - const aNumber = Number(a); + const aNumber = a !== '' ? Number(a) : 1; const bNumber = b !== undefined ? Number(b) : 0; if (isNaN(aNumber) || isNaN(bNumber)) { throw new DOMException(`The selector "${this.selector}" is not valid.`);