它的錯誤我,我不能只是做document.querySelectorAll(...).map(...)
甚至在Firefox 3.6中,我仍然無法找到答案,所以我想我會在SO從這個博客的問題交叉後:爲什麼document.querySelectorAll返回一個StaticNodeList而不是真正的Array?
http://blowery.org/2008/08/29/yay-for-queryselectorall-boo-for-staticnodelist/
有沒有人知道爲什麼你沒有獲得數組的技術原因?或者爲什麼一個StaticNodeList不能以一種可以使用map
,concat
等的方式從一個數組繼承?
(順便說一句,如果它只是一個你想要的,你可以這樣做NodeList.prototype.map = Array.prototype.map;
......但同樣的功能,這是爲什麼功能(故意?)擋在首位?)
其實也的getElementsByTagName不返回數組,而是一個集合,如果你想像一個數組一樣使用它(使用像concat等方法),你必須通過循環將這個集合轉換成一個數組,然後複製每個ele將集合集合到Array中。沒有人抱怨過這件事。 – 2010-08-16 12:02:29