2010-04-25 68 views
1

我有以下jQuery代码来格式化一个html表。是否有可能重写一个css类

$(".jtable td").each(function() { 
     $(this).addClass("ui-widget-content"); 
    }); 

我想(一个表)来改变文字颜色为蓝色(黑色其在UI中的小部件,内容类。我试着做下面这一点,但它似乎没有做任何事情。

上覆盖了一个表的某些特定的CSS(我想独自离开其他表)

$(".jtable td").each(function() { 
     $(this).addClass("ui-widget-content"); 
     $(this).css("color", "Blue"); 
    }); 
+2

适用于我(http://jsbin.com/ofica3/edit)。问题在别处。 – 2010-04-25 17:33:04

+0

你有权访问css本身吗? – Alexar 2010-04-25 17:42:25

+2

你不需要使用'each'。 'addClass'和'css'都可以在所有匹配的元素上运行。 ''(“.jtable td”)。addClass('ui-widget-content').css('color','blue');'*(这不会解决您的问题,仅供将来参考)*。 – Matt 2010-04-25 17:47:50

回答

1

即选择器:

$(".jtable td") 

选择一个表格单元那级“的JTable”的元素的后代。

什么你大概要做的是选择一个table与该类:

$('table.jtable') 

这当然会选择该类的所有表。所以你需要能够唯一标识你想要选择的表/地址。如果它是第一个表:

$('table.jtable').filter(':first') 

否则你很可能有一个id适用于您要修改的一个。

0

试试!重要工具

$(本)的.css(“颜色”任何帮助, “蓝!重要”);

http://www.electrictoolbox.com/using-important-css/

或者,只是让一个已经设置为蓝色的颜色另一个类,并应用类代替。

+1

这不适用于jQuery。 – SLaks 2010-04-25 17:35:58

+1

jQuery不理解'!important' css-rule。请参阅:http:// stackoverflow。com/questions/2655925/jquery-css-apply-important-styles,这些替代品将允许使用'!important'。 – 2010-04-25 17:36:32

+1

$(this).css()直接应用于元素,并且在大多数情况下不需要!important关键字。 – Alexar 2010-04-25 17:40:16

-1

$(“tr:odd”).css(“background-color”,“blue”);

也可以尝试寻找到.odd和。即便选择,如果你想交替表行颜色 -

http://api.jquery.com/odd-selector/

+0

我认为他试图改变文字颜色,而不是背景? – 2010-04-25 17:38:45

+0

我不想奇怪的选择器。我希望所有的td文字颜色都是蓝色的 – leora 2010-04-25 17:38:58

0

样式与jQuery的CSS()命令设置应覆盖从一个类来风格,除非后者具有!重要的关键字。因此,像

$(".jtable td").addClass("ui-widget-content"); 
$(".jtable:first td").css("color", "Blue"); 

应该足够了(当然是:首先应与你想要的任何选择器代替)。如果“UI小部件内容”仅文本样式设置,您可以将其添加到表,而不是每个单元格(他们仍然会得到它通过CSS继承规则),这是速度更快,更简洁:

$(".jtable").addClass("ui-widget-content").find(":first").css("color", "Blue"); 
相关问题