3 ms·
With modern JavaScript you can easily cast a NodeList to an Array, e.g. `let spansArray = [...element.querySelectorAll("span")]`. I find both `element.nextElem
by jarek-foksa 6y ago
With modern JavaScript you can easily cast a NodeList to an Array, e.g. `let spansArray = [...element.querySelectorAll("span")]`.
I find both `element.nextElementSibling` and `element.next()` to be examples of poor API design. The former one is more verbose than needed while the latter one is so short you can't even tell whether it's a method or a property.
- porker 6y ago> With modern JavaScript you can easily cast a NodeList to an Array, e.g. Ah, thanks. I got bitten by this recently and didn't know what to do with this "thing that's not an array but seems like it should be, and doesn't always behave like one"
- nicoburns 6y agoFYI the reason it's not an array is because if you store a reference to it, it will stay up to date as and when the DOM changes.
- jarek-foksa 6y agoThe NodeList returned by querySelectorAll() is not live. There is really no reason for it to return a NodeList other than backward compatibility.
- spiralx 6y agoBefore that ES2015 allowed you to do Array.from(nodeList, mapFunc?) which I still use due to the optional mapping function e.g. Array.from(document.querySelectorAll('a'), a => a.href)