2010-03-04 156 views
1

我有一個面板(A),其中包含3個其他面板(AA,AB,AC)。每個子面板都包含標籤和按鈕。該標籤有一種風格。如何刪除所有標籤中的所有樣式而不是A.我的想法是使類似於A.getChilds()。removeStyleName(); ...刪除所有子元素的樣式

編輯:子面板的數量是可變的...從2到1000.每個子面板都有相同的CSS類。

回答

2

您應該只需要在樣式添加到A.

.someStyle { background-color: blue; } 
.someStyle .gwt-Label { font-weight: bold; } 

(請注意,GWT標籤自動擁有styleName來「GWT-標籤」規定),當要刪除這個風格

然後從面板A下面的所有東西,它就像panelA.removeStyleName("someStyle");一樣簡單,這將使上述規則不再適用。

從面板A中刪除someStyle將從它下面的所有節點中刪除它。這就是爲什麼他們被稱爲級聯樣式表。

+0

此解決方案將工作,如果子面板的數量是不變的(見我編輯的帖子,我試圖現在更好地解釋它)。 – cupakob 2010-03-04 08:28:06

+0

更新了我的答案。無論您在面板A下有多少個子面板/標籤,都無需在CSS中枚舉它們。 – 2010-03-04 08:55:26

+0

我已經將你的想法與數組列表結合起來,它的工作原理:)非常感謝...... – cupakob 2010-03-04 09:08:14