Search code examples
javascriptgoogle-chromefor-loopmozillaselectors-api

for of loop querySelectorAll


Mozilla states that "for of loops will loop over NodeList objects correctly". (source: https://developer.mozilla.org/en-US/docs/Web/API/NodeList) However, this doesn't work in Chrome 43. Is this incorrect documentation or a browser bug?

The copied example code used on a page with checkboxes:

var list = document.querySelectorAll( 'input[type=checkbox]' );
for (var item of list) {
  item.checked = true;
}

Solution

  • Edit: This is shipping in Chrome 51.

    Jake Archibald posted a simple fix:

    NodeList.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator]
    

    And for of loops.