簡體   English   中英

從gwt對話框標題中刪除樣式

[英]Remove style from gwt dialogbox header

如何刪除依賴樣式?

在GWT對話框,我需要刪除的樣式.dialogtopleft.gwt-Dialogbox . dialogtopleft .gwt-Dialogbox . dialogtopleft

如何將其刪除?

您將需要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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM