It is my understanding that IE8 has access to the Array.prototype.slice
method. Yet when I try to call it to turn a NodeList
into an array, it give
I assume that you want to keep the same content even if the NodeList set changes.
If it's that case, bad news : IE8 is broken. And it can't handle using slice on NodeList.
So you will need to use a fallback and make the "slice" yourself when slice fails (by using a try/catch).
Note that If you don't expect the DOM to change, and if an array-like object is enough, then you can just use the NodeList like any other array (except that it is not, and that perhaps it will be modified if the DOM changes).
[edit] Actually it's not a broken design, it's allowed by the standard (as stated by the link in Kelvin Mackay's comment)