Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 717201
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T05:23:11+00:00 2026-05-14T05:23:11+00:00

It bugs me that I can’t just do document.querySelectorAll(…).map(…) even in Firefox 3.6, and

  • 0

It bugs me that I can’t just do document.querySelectorAll(...).map(...) even in Firefox 3.6, and I still can’t find an answer, so I thought I’d cross-post on SO the question from this blog:

http://blowery.org/2008/08/29/yay-for-queryselectorall-boo-for-staticnodelist/

Does anyone know of a technical reason why you don’t get an Array? Or why a StaticNodeList doesn’t inherit from an Array in such a way that you could use map, concat, etc?

(BTW if it’s just one function you want, you can do something like NodeList.prototype.map = Array.prototype.map;…but again, why is this functionality (intentionally?) blocked in the first place?)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T05:23:11+00:00Added an answer on May 14, 2026 at 5:23 am

    I believe it to be a philosophical decision of the W3C. The design of the W3C DOM [spec] is quite orthogonal to the design of JavaScript, as the DOM is meant to be platform and language neutral.

    Decisions like “getElementsByFoo() returns an ordered NodeList” or “querySelectorAll() returns a StaticNodeList” are very much intentional, so that implementations don’t have to worry about aligning their returned data structure based on language-dependent implementations (like .map being available on Arrays in JavaScript and Ruby, but not on Lists in C#).

    The W3C aim low: they’ll say a NodeList should contain a readonly .length property of type unsigned long because they believe every implementation can at least support that, but they won’t say explicitly that the [] index operator should be overloaded to support getting positional elements, because they don’t want to stymie some poor little language that comes along that wants to implement getElementsByFoo() but cannot support operator overloading. It’s a prevalent philosophy present throughout much of the spec.

    John Resig has voiced a similar option as yours, to which he adds:

    My argument isn’t so much that
    NodeIterator isn’t very DOM-like it’s
    that it isn’t very JavaScript-like. It
    doesn’t take advantage of the features
    present in the JavaScript language and
    use them to the best of its ability…

    I do somewhat empathize. If the DOM was written specifically with JavaScript features in mind it would be a lot less awkward and more intuitive to use. At the same time I do understand the W3C’s design decisions.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.