Here's my demo.JavaScript方法array.forEach可以在Chrome中使用嗎?
我試圖讓JavaScript的forEach
方法谷歌瀏覽器的工作。
Caniuse沒有太大的幫助。 :(
任何幫助,將不勝感激謝謝
Here's my demo.JavaScript方法array.forEach可以在Chrome中使用嗎?
我試圖讓JavaScript的forEach
方法谷歌瀏覽器的工作。
Caniuse沒有太大的幫助。 :(
任何幫助,將不勝感激謝謝
document.querySelectorAll
不返回數組,但它沒有法「的forEach」一個NodeList
對象
的錯誤味精顯示這一點:!。
Object #<NodeList> has no method 'forEach'
檢查this article,這也解釋了這個
是的,我看到了。這是什麼意思?什麼是替代方案? –
檢查我添加的鏈接。 – xdazz
轉換節點列表到一個數組:
nodes = Array.prototype.slice.call(nodes);
然後你可以使用.forEach()
就可以了。
在主機對象不能用作本地方法的* this *的瀏覽器中不起作用。這是毫無意義的,因爲這些瀏覽器可能不支持qSA ... – RobG
你確定這是任何瀏覽器的問題嗎? jQuery正是這樣做的。 – ThiefMaster
**任何**用戶代理您不能將主機對象當作本機對象(並且實際上沒有理由認爲您可以放在第一位),IE 8及更低版本就是一個例子。 jQuery不會在主機對象上使用該方法,只能在本地陣列上使用該方法。請注意,大多數IE用戶仍然使用IE 8或更低版本。 – RobG
使用一些現代JavaScript的只是轉換它:
let paragraphs = Array.from(nodes)
paragraphs.forEach(paragraph => console.log(`This is the paragraph: ${paragraph}`);
任何特別的原因不使用jQuery?性能? –
@EranMedan我的情況很小,我的頁面加載速度很快,而且我想保持這種狀態。 :) –