2009-08-30 8 views
9

Certo che è una domanda semplice, ma non riesco a risolverlo, qualcuno può aiutarmi?Aggiungi colore carattere css con jquery

Questa è la linea

$('.winning-col', this).text($('td.win', this).length); 

originale e questo è dove mi è venuta, sicuramente non corretta.

$('.winning-col', this).text.css('color', 'pink'($('td.win', this).length)); 
+0

Aggiunto un tag "jquery", poiché questa domanda è correlata a jQuery. –

risposta

23

Si potrebbe fare il rapido vie:

$(".winning-col", this) 
    .text($("td.win", this).length) 
    .css("color", "pink"); 

Ma idealmente, si usa invece .addClass:

$(".winning-col", this) 
    .text($("td.win", this).length) 
    .addClass("hilighted"); 

Dove

.hilighted { color: pink; } 
3
$('.winning-col', this).text($('td.win', this).length).css('color', 'pink'); 
6

Prova questa:

$('.winning-col', this).text($('td.win', this).length).css('color', 'pink'); 

Ogni funzione chiamata, anche in jQuery, è ancora separato. La prima chiamata è a .text() per modificare il testo. Il secondo è quello di .css() per cambiare il CSS. Accade semplicemente che in jQuery ogni chiamata di funzione di questo tipo restituisca un oggetto jQuery su cui è possibile chiamare più funzioni, quindi concatenandole tutte insieme.

+0

Grande commento, grazie! – Chris

12

pensiero mi piacerebbe aggiungere un po 'di informazioni in più qui, nel caso non ne sia a conoscenza. Quando si utilizza la funzione css(), è anche possibile specificare gli argomenti come quello che è chiamato un oggetto letterale, che in pratica significa qualcosa in questo formato:

{objectVarName1: objectVarValue1, objectVarName2: objectVarValue2} 

È anche possibile fare in questo modo:

{"objectVarName1": objectVarValue1, "objectVarName2": objectVarValue1} 

Con la funzione css(), si può fare questo:

$("#the_item_id").css({backgroundColor: "#333", color: "#FFF"}); 

Se i nomi delle variabili che stai passando non sono tra virgolette, è necessario farlo in cammello caso come ho fatto in precedenza , il che significa che th La prima parola del nome della proprietà CSS è in minuscolo, ma ogni parola dopo è in maiuscolo (quindi la proprietà CSS background-color diventa backgroundColor). Per fare l'equivalente di quanto sopra nella forma in cui si inserisce il nome della variabile nell'oggetto tra virgolette, si sarebbe solo fare questo:

$("#the_item_id").css({"background-color": "#333", "color": "#FFF"}); 

Volevo solo far notare che non c'è bisogno di catena chiamate multiple a .css() insieme, che puoi fare tutte le modifiche CSS contemporaneamente. ;)

+1

Ottimo! Ho quasi avuto javascript a un livello di comprensione, e ora c'è jquery ;-) – Chris

+0

rofl. jquery in realtà semplifica le cose molto perché la sintassi è più semplice. se dovessi indovinare, direi che probabilmente il 75% del lavoro che faccio oggi che coinvolge javascript è in jQuery, non nel javascript di livello base stesso. jquery è javascript cosa C++ è il linguaggio macchina ... (steroidi?) –

Problemi correlati