2009-08-30 82 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