Javascript 删除从Vaadin页面动态添加的样式

Javascript 删除从Vaadin页面动态添加的样式,javascript,java,html,css,vaadin,Javascript,Java,Html,Css,Vaadin,在Vaadin页面中,是否有方法删除动态添加的样式? 我有一个css开关,它通过一个组合框实现,用户可以选择特定的样式。更改样式时,我将使用以下方式添加新样式: getPage().getStyles().add("some css"); 但是,当用户再次更改样式时,它会添加另一个“样式”元素。我找不到删除旧“样式”节点的方法。类别: public static class Styles implements Serializable 从软件包: package com.vaadin.ser

在Vaadin页面中,是否有方法删除动态添加的样式? 我有一个css开关,它通过一个组合框实现,用户可以选择特定的样式。更改样式时,我将使用以下方式添加新样式:

getPage().getStyles().add("some css");
但是,当用户再次更改样式时,它会添加另一个“样式”元素。我找不到删除旧“样式”节点的方法。类别:

public static class Styles implements Serializable
从软件包:

package com.vaadin.server;
没有提供任何方法来实现这一点。有什么解决办法吗

编辑:

我通过一个变通办法解决了这个问题。将样式更改为新样式(因此添加了新的“样式”标记)后,我将使用javascript删除旧样式:

getPage().getJavaScript().execute(REMOVE_OLD_STYLE_SCRIPT);
此脚本始终删除索引为[1]的“style”标记(索引[0]从css文件中添加了样式,我不想删除该样式)

老实说,这是可行的,但我不喜欢这个解决方案。正如我所说的,这是一个变通方法,在我看来,应该有这样一个函数来使用Vaadin类删除一些动态样式

if (document.getElementsByTagName('style').length > 2) {
    document.getElementsByTagName('style')[1].remove()
}