javascript - element.style fungerar inte i typescript [Angular 5]


Jag försöker sätta stil på ett element med JavaScript, inuti min TypeScript, men det fungerar inte. Detta är vad jag försöker göra:

const element = document.getElementsByClassName('current');
element.style.backgroundColor = "" + this.styles.style.mainIdentifyingColor;

men jag får ett fel:

Egenskapen 'style' finns inte på HTMLCollectionOf.

Jag försökte också med setAttribute men samma sak..

Svar #1

Jag vet att jag inte exakt svarar på din fråga, men har du försökt arbeta med NgStyle? dokumentation

HTML

<div [ngStyle]="{ 'background-color': myCustomColor }"> 

</div>

TS

someFunctionToBeCalled() {
  this.myCustomColor=this.styles.style.mainIdentifyingColor;
}

Svar #2

Du kommer att behöva iterera över arrayen av HTMLElements som ingår i HTMLCollection och sätta stil-egenskapen på varje element.

ELLER

Om du föredrar att endast ange stilen på det allra första (eller enda, som du kan se det) elementet med klassnamnet current, då kan du göra så här:

const element = document.getElementsByClassName('current');
element[0].style.backgroundColor = "" + this.styles.style.mainIdentifyingColor;

Relaterade artiklar