2016-08-22 4 views
-1

Gibt es eine Möglichkeit, die Schriftfarbe einzelner Texte in JavaScript zu ändern? Abhängig von einer Benutzereingabe könnte 1 von ein paar Optionen passieren und ich möchte die Farbe je nach Auswahl ändern. Hinweis CSS kann die Farbe für die <td> ändern, ändert sich aber nicht in Abhängigkeit von einer Auswahl.JavaScript ändern .text Schriftfarbe

var latedifference = 0; 
    latedifference += late-lates 
    if (late > lates && latedifference <= 2){ 
     $('#lateedge').text('Your Team has the Edge'); 
    }else if (late > lates && latedifference > 2){ 
     $('#lateedge').text('Your Team has a Big Edge'); 
    }else if (lates > late && latedifference < -2){ 
     $('#lateedge').text('Opposing Team has a Big Edge'); 
    }else if (lates === late){ 
     $('#lateedge').text('Teams are Even'); 
    }else { 
     $('#lateedge').text('Opposing Team has the Edge'); 
    } 
+0

Ja, Sie können die Schriftfarbe des einzelnen Textes mit js ändern. –

+0

Was ist 'lateedge', ein' '? –

+0

Ja, es ist , ursprünglich waren es Werbebuchungen, aber ich wollte Daten von links nach rechts als Gegensatz von oben nach unten gehen und es wurde nur zu verwirrend auf meiner Website, um es horizontal auszurichten, so dass ich nur eine Tabelle stattdessen . – Tidesglenn

Antwort

1

Nach .text('Your message') hinzufügen .css('color', '<your color>')

+0

10 Vielen Dank, ich habe versucht, etwas ähnliches, aber ich denke, die Syntax war ausgeschaltet, Sie sind ein Lebensretter und Zeitspender! – Tidesglenn

1

Sie können die Schriftfarbe in derselben Anweisung ändern, in dem Sie den Text ändern, indem Sie es entweder direkt ändern oder eine CSS-Klasse zu ändern:

if (late > lates && latedifference <= 2){ 
    $('#lateedge').text('Your Team has the Edge'); 
    $('#lateedge').css('color', 'blue'); 
}else if (late > lates && latedifference > 2){ 
    $('#lateedge').text('Your Team has a Big Edge'); 
    $('#lateedge').css('color', 'green') 

    // or, if you have css to go with it 
    // like .big-edge { color: green; } 

    $('#lateedge').toggleClass('big-edge') 
[etc.] 

Another Ding - es ist schlecht für die Leistung, $('#lateedge') immer wieder zu fragen; Stattdessen cache es am Anfang, so dass jQuery nur einmal nach diesem Selektor suchen muss.

var latedifference = 0; 
var $td = $('#lateedge'); 

... 
$td.text('Teams are Even') 
+0

ID-Selektoren sind extrem schnell und jQuery führt internes Caching durch - in diesem Fall gibt es wahrscheinlich keinen Unterschied in der Performance, insbesondere da nur ein if-Block ausgeführt werden sollte. Obwohl es * eine gute Praxis ist, sieht es sicherlich sauberer und wartungsfreundlicher aus. +1 von mir! –

+0

wow Ich bin sehr neu zu jQuery und Javascript und begann nur, es aus Notwendigkeit für einen Freund der Minen-Website zu tun, aber das ist ein großes Stück von Informationen und sehr geschätzt. – Tidesglenn