2017-03-22 1 views

Antwort

0

Das Problem hier ist, dass getElementsByTagName ein Array-ähnliches Objekt zurückgibt, kein tatsächliches Array. Sie müssen es einen zwingen zuerst die Ausbreitung Operator (oder [].slice.call(...) für ES5):

let li: HTMLElement[] = [...document.getElementsByTagName('span')] 
2

Das Objekt zurückgegeben von document.getElementsByTagName('span') ist nicht kompatibel mit einem Array-Objekt. Sie müssen sie erklären, wie folgend:

let li: NodeListOf<HTMLElement> = document.getElementsByTagName('span'); 

Wenn Sie das wirklich brauchen ein Array-Objekt zu sein, die Sie verwenden können:

let li: NodeListOf<HTMLElement> = document.getElementsByTagName('span'); 
let liArray: Element[] = Array.prototype.slice.call(li); 
Verwandte Themen