title: How to convert a DOM node list to an array in Javascript?
body: <p>I have a Javascript function that accepts a list of HTML nodes, but it expects a Javascript array (it runs some Array methods on that) and I want to feed it the output of <code>Document.getElementsByTagName</code> that returns a DOM node list.</p>
  
  <p>Initially I thought of using something simple like:</p>
  
  <pre><code>Array.prototype.slice.call(list,0)
  </code></pre>
  
  <p>And that works fine in all browsers, except of course Internet Explorer which returns the error "JScript object expected", as apparently the DOM node list returned by <code>Document.getElement*</code> methods is not a JScript object enough to be the target of a function call.</p>
  
  <p>Caveats: I don't mind writing Internet Explorer specific code, but I'm not allowed to use any Javascript libraries such as JQuery because I'm writing a widget to be embedded into 3rd party web site, and I cannot load external libraries that will create conflict for the clients.</p>
  
  <p>My last ditch effort is to iterate over the DOM node list and create an array myself, but is there a nicer way to do that?</p>