如何删除依赖样式?
在GWT对话框中,我需要从.dialogtopleft
中删除样式.gwt-Dialogbox . dialogtopleft
。
如何删除它?
答案 0 :(得分:0)
你需要jQuery才能轻松完成。您可以为GWT找到一些jQuery包装器,但您也可以使用纯DOM遍历来完成它。
我有一个小的递归方法来按给定的类名查找元素。它返回找到的第一个元素或null。
public Element findChildElementByClassName(Element parent, String className) {
List<String> classNames = Arrays.asList(parent.getClassName().split(" "));
if(classNames.contains(className))
return parent;
else {
Element foundElement = null;
NodeList<Node> childNodes = parent.getChildNodes();
for(int i = 0; i < childNodes.getLength() && foundElement == null; i++)
if(childNodes.getItem(i).getNodeType() == Node.ELEMENT_NODE) {
Element childElement = (Element) childNodes.getItem(i);
foundElement = findChildElementByClassName(childElement, className);
}
return foundElement;
}
}
我希望它是自我解释,但你需要注意在将它转换为元素之前必须检查节点类型。
你应该这样使用它:
DialogBox dialogBox = new DialogBox();
// ... initialize dialogBox
dialogBox.show();
Element dialogTopLeftElement = findChildElementByClassName(dialogBox.getElement(), "dialogTopLeft");
if(dialogTopLeftElement != null)
dialogTopLeftElement.removeClassName("dialogTopLeft");