1

如何访问通过 RequestBuilder 获取的 HTML 对象内的 DOM?以下是关于我的问题的缩短代码:

RequestBuilder requestBuilder = new RequestBuilder(
    RequestBuilder.POST, 
    "/experiment.txt");

requestBuilder.setCallback(new RequestCallback() {
    public void onResponseReceived(Request request, Response response) {
        if (200 == response.getStatusCode()) {
            HTML responseHTML = new HTML(response.getText());
            //TODO parse responseHTML
        } 
    }

    public void onError(Request request, Throwable exception) {}
});

假设,以下是 的内容responseHTML

HTML responseHTML=new HTML(
    "<div id='div_1'>my div 1</div>" + 
    "<div id='div_2'>my div 2</div>");

是否可以通过以下方式div_1从内部获取responseHTML

responseHTML.getElementById("div_1");
4

2 回答 2

1

将您附加responseHTML到 DOM 后,您可以使用Dom.getElementById(String id)

如果您还没有附加responseHTML到 DOM,您可以尝试使用 GQuery 框架来选择/查找所需的DOM元素。简单的例子是:

// select div with id=div_1 from responseLabel element
GQuery divWithIdQuery = GQuery.$("div#div_1", responseLabel);

// assuming that only one div was selected you can get its content :
String div1HTML = divWithIdQuery.toString();

// You can get the Element as well
Element div1Element = divWithIdQuery.get(0);
于 2013-10-06T13:32:17.557 回答
0

是的你可以

import com.google.gwt.user.client.DOM;


    Element elementById = DOM.getElementById("div_1");

现在使用 elementById

在你得到之前,请确保我已经被添加到 DOM 中。

于 2013-10-06T14:14:30.423 回答