{"ScriptPreparationCode":"const count = 1000;\r\nconst holder = document.getElementById(\u0027test\u0027);\r\n\r\nfor (let i = 0; i \u003C count; i\u002B\u002B) {\r\n let elem = document.createElement(\u0027div\u0027);\r\n elem.classList.add(0|Math.random()*2 ? \u0027foo\u0027 : \u0027bar\u0027);\r\n holder.appendChild(elem);\r\n}","TestCases":[{"Name":"matches (filter)","Code":"const result = Array.from(holder.children).filter((node) =\u003E node.matches(\u0027.foo\u0027));","IsDeferred":false},{"Name":"matches (for)","Code":"const result = [];\r\nfor (const child of holder.children) {\r\n if (child.matches(\u0027.foo\u0027)) result.push(child);\r\n}","IsDeferred":false},{"Name":"classList (filter)","Code":"const result = Array.from(holder.children).filter((node) =\u003E node.classList.contains(\u0027foo\u0027));","IsDeferred":false},{"Name":"classList (for)","Code":"const result = [];\r\nfor (const child of holder.children) {\r\n if (child.classList.contains(\u0027foo\u0027)) result.push(child);\r\n}","IsDeferred":false},{"Name":"className (filter)","Code":"const result = Array.from(holder.children).filter((node) =\u003E node.className.includes(\u0027foo\u0027));","IsDeferred":false},{"Name":"className (for)","Code":"const result = [];\r\nfor (const child of holder.children) {\r\n if (child.className.includes(\u0027foo\u0027)) result.push(child);\r\n}","IsDeferred":false},{"Name":"querySelectorAll","Code":"const result = holder.querySelectorAll(\u0027:scope \u003E .foo\u0027);","IsDeferred":false},{"Name":"getElementsByClassName","Code":"const result = holder.getElementsByClassName(\u0027foo\u0027);","IsDeferred":false}]}