是否可以覆盖css类

时间:2010-04-25 17:28:33

标签: jquery css

我有以下jquery代码来格式化html表。

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

我希望(一个在桌面上)将文本颜色更改为蓝色(在ui-widget-content类中为黑色。我尝试在下面执行此操作,但它似乎没有做任何事情。

有关覆盖某个表的某个特定css的任何帮助(我想单独保留其他表)

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

4 个答案:

答案 0 :(得分:1)

那个选择器:

$(".jtable td")

选择一个表格单元格,它是“jtable”类元素的后代。

您可能尝试做的是选择一个table该类:

$('table.jtable')

当然,这将选择该类的所有表。因此,您需要能够唯一地标识要选择/寻址的表。如果是第一张表:

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

否则,您可能必须将id应用于您要修改的文件。

答案 1 :(得分:0)

试试!important工具

$(this).css(“color”,“Blue!important”);

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

或者,只需创建另一个颜色已设置为蓝色的类,然后应用该类。

答案 2 :(得分:0)

使用jQuery的css()命令设置的样式应该覆盖来自类的样式,除非后者具有!important关键字。像

这样的东西
$(".jtable td").addClass("ui-widget-content");
$(".jtable:first td").css("color", "Blue");

应该足够了(当然:首先应该用你想要的任何选择器替换)。如果“ui-widget-content”仅设置文本样式,则可以将其添加到表而不是每个单元格(它们仍将通过CSS继承规则获取),这样更快,更简洁:

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

答案 3 :(得分:-1)

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

如果要替换表格行颜色,也可以尝试查看.odd和.even选择器 -

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