I Szenario haben folgende:Wie Variablen für Stile in HTML verwenden
Funktion 1:
myFunction(obj){
//returns HTML code as string
}
Beispiel:
<div>
<div style="color: black; margin-bottom: 10px;">
<h3 style="font-size: 15px; display:inline;">Pipeline : </h3>
<h3 style="font-size: 20px; display:inline;"> '+obj.name+' </h3>
<div id="status" style="display:inline; font-size:10px;"></div>
</div>
<div style="margin-bottom: 10px;">
<h3 style="font-size: 15px; display:inline;">Status message : </h3>
<h3 style="font-size: 20px; display:inline;"> '+obj.statusMessage+' </h3>
</div>
</div>
Funktion 2: Anrufe Funktion 1 durch Übergeben des Objekts;
callmyFunction(){
obj={
"name": "abc",
"statusMessage" : "fdsffs"
...
}
var str = myFunction(obj);
document.getElementById("demo").innerHTML=str;
}
Mein html hat ein div mit id = "Demo"
<div id="demo"></div>
Jetzt möchte ich dynamisch die Farbe eines div ändern mit id = "Status" von myFuncton(), die Teil von Die zurückgegebene HTML-Zeichenfolge. Etwas wie folgt aus: (Aber das wirft Fehler Stil ‚Kann Eigenschaft nicht lesen‚‘von null bei myFunction (: 17: 34)‘)
document.getElementById("status").style.color=variable;
Hier Variable wird auf den obj Eigenschaften entschieden basierend dynamisch (obj übergeben wird als Parameter)
Wenn es eine Möglichkeit, Variablen zu Stil-Eigenschaft zu binden, in der Zeichenfolge zurückgegeben dann wäre das Problem
wie gelöst werden:
<div id="status" style="display:inline; font-size:10px; color=
{{variable}}"></div>
Ich kann CSS-Klassen nicht verwenden, da es sich um E-Mails handelt. Und ich weiß, dass ich CSS für jeden anderen Fall verwenden kann.
Und der obige Code ist Pseudocode. Suchen Sie nicht nach syntak-Fehlern.
Wenn Sie nur '# status' Farbe geben wollen (Sie haben einen richtigen Selektor), warum verwenden Sie nicht stattdessen css? –
Es wird nicht empfohlen, CSS-Klassen für E-Mails zu verwenden. Alles muss inline CSS –
Sie sollten dies in Frage erwähnt haben. –