--- id: 6193e5280857e72be1efc99d title: Step 14 challengeType: 0 dashedName: step-14 --- # --description-- Copy the entire contents of your first `.section` element and paste them into your second `.section` element. # --hints-- Your second `.section` element should have four `p` elements. ```js assert(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p')?.length === 4); ``` Your second `.section` element should have three `p` elements with the class set to `row`. ```js const ps = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p')); assert(ps?.filter?.(p => p?.classList?.contains('row') && !p?.classList?.contains('total'))?.length === 3); ``` Your second `.section` element should have a `p` element with the class `row` and `total`. ```js assert(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row.total')?.length === 1); ``` Your `.row` elements should each have four `span` elements. ```js const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row')); assert(rows?.every?.(row => row?.querySelectorAll('span')?.length === 4)); ``` Within each `.row` element, your first `span` element should have the class set to `name`. ```js const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row')); assert(rows?.every?.(row => row?.querySelectorAll('span')?.[0]?.classList?.contains('name'))); ``` Within each `.row` element, your last `span` element should have the class set to `current`. ```js const rows = Array.from(document.querySelectorAll('.section')?.[1]?.querySelectorAll('p.row')); assert(rows?.every?.(row => row?.querySelectorAll('span')?.[3]?.classList?.contains('current'))); ``` # --seed-- ## --seed-contents-- ```html
2019 2020 2021