2009-08-30 12 views
9

Claro que es una pregunta simple, pero no puedo solucionarlo, ¿alguien puede ayudarme?Agregue color de fuente css con jquery

Esta es la línea original

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

y aquí es donde se me ocurrió, sin duda no es correcta.

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

Se agregó una etiqueta "jquery", ya que esta pregunta está relacionada con jQuery. –

Respuesta

23

Se podía hacerlo de la manera rápida:

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

Pero lo ideal, se usaría en lugar .addClass:

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

Dónde

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

Prueba esto:

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

llamada Cada función, incluso en jQuery, todavía está separado. La primera llamada es .text() para cambiar el texto. El segundo es .css() para cambiar el CSS. Simplemente sucede que en jQuery cada llamada de función de este tipo devuelve un objeto jQuery en el que puede llamar a más funciones, encadenando así todas juntas.

+0

¡Gran comentario, gracias! – Chris

12

que me gustaría añadir un poco de información adicional aquí, en caso de que no lo sepas. Cuando se utiliza la función css(), también puede especificar los argumentos como lo que se llama un objeto literal, que básicamente significa algo en este formato:

{objectVarName1: objectVarValue1, objectVarName2: objectVarValue2} 

También puede hacerlo de esta manera:

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

con la función css(), usted puede hacer esto:

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

Si los nombres de las variables que está pasando no están entre comillas, usted tiene que hacerlo en camello caso como lo hice anteriormente , lo que significa que th La primera palabra del nombre de la propiedad CSS es en minúscula, pero cada palabra después de eso está en mayúsculas (por lo que la propiedad CSS background-color se convierte en backgroundColor). Para hacer el equivalente de lo anterior, en la forma donde se pone el nombre de la variable en el objeto entre comillas, usted acaba de hacer esto:

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

Sólo quería señalar que usted no tiene que la cadena llamadas múltiples a .css() juntas, que puede hacer todos sus cambios CSS a la vez. ;)

+1

¡Genial! Casi tenía javascript en un nivel de comprensión, y ahora está jquery ;-) – Chris

+0

rofl. jquery en realidad simplifica las cosas MUCHO porque la sintaxis es más simple. si tuviese que adivinar, diría que probablemente el 75% del trabajo que hago hoy con javascript está en jquery, no en el javascript de nivel base. jquery es javascript lo que C++ es para lenguaje de máquina ... (¿esteroides?) –