title: JavaScript element traversal returning more than expected
body: <p>I have a simple HTML setup as follows:</p>
  
  <pre><code>&lt;div&gt;
  outer
      &lt;div&gt;Inner&lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>I am traversing it as follows:</p>
  
  <pre><code>"use strict";
  
  var divs = document.getElementsByTagName( "div" );
  
  for( var i = 0, div; div = divs[i]; i++ ) {
      console.log( div.innerText );
  }
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>outer
  Inner
  Inner
  </code></pre>
  
  <p>Why is <code>Inner</code> output twice?</p>