2010-03-04 220 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