2009-08-30 12 views
9

Oczywiście to proste pytanie, ale nie mogę tego naprawić, czy ktoś może mi pomóc?Dodaj kolor czcionki css z jquery

Jest to oryginalna linia

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

i to gdzie ja przyszedłem z pewnością nie jest poprawna.

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

Dodano znacznik "jquery", ponieważ to pytanie jest związane z jQuery. –

Odpowiedz

23

Można zrobić to szybki drogi:

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

ale najlepiej, należy użyć .addClass zamiast:

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

Gdzie

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

Spróbuj tego:

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

Każda funkcja połączenia, nawet w jQuery, jest nadal rozdzielić. Pierwsze połączenie to .text(), aby zmienić tekst. Druga to .css(), aby zmienić CSS. Tak się składa, że ​​w jQuery każde wywołanie funkcji tego typu zwraca obiekt jQuery, w którym można wywoływać więcej funkcji, ładnie łącząc je wszystkie razem.

+0

Świetny komentarz, dzięki! – Chris

12

Myśl Chciałbym dodać trochę dodatkowych informacji tutaj, na wypadek gdybyś nie był tego świadomy. Podczas korzystania z funkcji .css(), można również podać argumenty, jak to, co się nazywa przedmiot dosłowny, co w zasadzie oznacza coś w tym formacie:

{objectVarName1: objectVarValue1, objectVarName2: objectVarValue2} 

Można również zrobić to tak:

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

Dzięki funkcji .css(), można to zrobić:

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

Jeśli zmienna nazwy jesteś przejazdem nie są w cudzysłowie, trzeba to zrobić w wielbłądach przypadku jak ja powyżej , co oznacza, że ​​th e pierwsze słowo nazwy właściwości CSS jest małe, ale każde słowo po nim jest w kodach (więc własność CSS background-color staje się backgroundColor). Aby to zrobić równowartość powyższe w formie, gdzie można umieścić nazwę zmiennej w obiekcie w cudzysłowie, to po prostu to zrobić:

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

Chciałem tylko zwrócić uwagę, że nie masz do łańcucha wiele wywołań do .css() razem, że możesz wykonać wszystkie zmiany CSS na raz. ;)

+1

Świetnie! Miałem prawie javascript na poziomie zrozumienia, a teraz jest jquery ;-) – Chris

+0

rofl. jquery faktycznie upraszcza operacje ALOT, ponieważ składnia jest prostsza. gdybym miał zgadywać, powiedziałbym, że prawdopodobnie 75% pracy, którą wykonuję dzisiaj z udziałem javascripta, jest w jquery, a nie w javascriptie na poziomie podstawowym. jquery jest javascript co C++ jest do języka maszynowego ... (sterydy?) –