2011-05-14 260 views
2

是否可以通過JavaScript更改類的樣式,而不循環現有元素並將該類應用於它們?由於我的頁面使用了很多DHTML,因此創建元素時此方法無效。無循環動態更改類樣式

我已經搜索並找到答案「no」和「loop」,但我覺得styleSheet對象必須能夠沿着這些線做些事情。如果不是,我會接受,但首先我想問問人們最可能知道最終答案的地方。

感謝您的所有答案。

+0

您可以定義不同的類,並添加/根據需要將其刪除?不幸的是,你不能修改JavaScript中的CSS樣式聲明。 – 2011-05-14 06:01:39

回答

1

您可以添加樣式規則來動態樣式表:

IE:addRule
其他:insertRule

+0

這很有用。有沒有辦法單獨更改元素的屬性,或者它是如此接近? – Ruffy 2011-05-14 06:16:48

+0

可以訪問,更改和/或刪除樣式表中的所有規則,但是不得不編寫特定於瀏覽器的代碼。看看'document.styleSheets [0] .rules'和'document.styleSheets [0] .cssRules'。 – gilly3 2011-05-14 06:40:14

0

使用jQuery,與這一行:

$('.className').css("attrib", "value"); 

它將改變與類=類名的所有元素的值。

參見:http://api.jquery.com/css/

+0

我不希望將jQuery用於學習目的。而且,這似乎只會影響現有的元素,因爲循環方法會。 – Ruffy 2011-05-14 05:59:14

+0

確實;事實上,這將在引擎蓋下循環。 – 2011-05-14 06:00:50

+0

_隻影響現有的元素..._並沒有讓你在那裏,一些細節將受到歡迎。 – check123 2011-05-14 06:04:10