2009-08-30 61 views
9

確定這是一個簡單的問題,但我無法修復它,有人可以幫助我嗎?用jquery添加css字體顏色

這是原線

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

,這是我想出了,肯定不正確。

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

添加了一個「jquery」標記,因爲這個問題與jQuery有關。 – 2009-08-30 01:40:59

回答

23

你可以做到這一點的快速路:

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

但理想情況下,你可以使用.addClass代替:

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

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

試試這個:

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

每個函數調用,即使在jQuery的,仍然分開。第一個電話是.text()來改變文字。第二個是.css()更改CSS。只是碰巧在jQuery中,這個類型的每個函數調用都會返回一個jQuery對象,您可以在其中調用更多的函數,從而很好地將它們鏈接在一起。

+0

非常好的評論,謝謝! – Chris 2009-08-30 01:55:30

12

想我會添加這裏有一些額外的信息,以防萬一你不知道它。當您使用的CSS()函數,你還可以指定參數作爲所謂的一個對象的文本,這基本上意味着這種格式的東西:

{objectVarName1: objectVarValue1, objectVarName2: objectVarValue2} 

你也可以做這樣的:

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

名爲.css()函數,你可以這樣做:如果你傳遞的變量名稱不加引號

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

,你必須這樣做,在駝峯像我上面那樣,這意味着th e CSS屬性名稱的第一個單詞是小寫字母,但之後的每個單詞都是大寫字母(因此CSS屬性background-color變爲backgroundColor)。要做到上述相當於在您在引號中的對象把變量名的形式,你只是這樣做:

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

只是想指出的是,你不必鏈多次調用.css()在一起,您可以一次完成所有CSS更改。 ;)

+1

太棒了!我幾乎在理解水平上有javascript,現在有jquery ;-) – Chris 2009-08-30 07:52:51

+0

rofl。 jQuery實際上簡化了事情,因爲語法更簡單。如果我不得不猜測,我會說,我今天所做的工作可能有75%涉及到javascript,而不是基本級別的javascript本身。 jQuery的JavaScript是什麼C++是機器語言...(類固醇?) – 2009-08-31 01:42:53