Dies ist das zweite Mal, dass ich diese & dieses Mal getroffen habe entschieden, eine Frage zu stellen, anstatt eine alternative Lösung zu finden.Integrierte Funktionen auf DOM-Elementen aufrufen Array
Szenario: Wir haben eine Liste von Elementen, die wir von document.getElementsByClassName
erhalten. Die zurückgegebene Liste ist ein Array. Warum kann ich die integrierten Array-Funktionen wie map, find, filter
nicht für dieses zurückgegebene Array verwenden?
https://jsfiddle.net/xbka5pt2/
<div class="classy"></div>
<div class="classy"></div>
<div class="classy"></div>
<div class="classy"></div>
<div class="classy"></div>
Javascript:
let list = document.getElementsByClassName("classy");
console.log(list);
// the following returns a 'typeError':
// "list.map is not a function"
list.map(function(ele){
console.log("ele is", ele);
});
erhalte ich die Fehlermeldung: TypeError: list.map is not a function
, wenn ich versuche & die Kartenfunktion auf der Liste Array. Vielen Dank.
Weil es kein Array ist, ist es eine Live-[HTMLCollection] (https://developer.mozilla.org/de/ docs/Web/API/HTMLCollection). – DavidDomain
Danke David, wie konvertiere ich es in ein Array? – Kayote
Da Sie ES6 verwenden, können Sie 'Array.from (list)' einfach aufrufen. – DavidDomain