Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

document.querySelectorAll(..).forEach?!?!?!?!


In Firefox, Safari, IE, and Chrome < 51:

    TypeError: document.querySelectorAll(...).forEach is not a function
That's exactly what this sub-thread is about! NodeList doesn't have .forEach.


Yep, that just rolls of the tongue...


Alias `document.querySelectorAll` to `$$`?


var $ = selector => [].slice.call(document.querySelectorAll(selector));

Fo' sizzle


If you're using ES6 you may as well use spread and defaults to make it more useful:

const $ = (selector, context=document) => [...context.querySelectorAll(selector)]


Or just polyfill it with NodeList.prototype.forEach = Array.prototype.forEach and get nice readable code.

Point is: we shouldn't have to.

Vanilla JS also allowed you to look inside HTML5 FormData a few months earlier. And no, it isn't FormData.toString().




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: