2010-04-25 69 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"); 
相關問題