如何在 GWT 中访问 HTML 对象内的 DOM

问题描述 投票:0回答:2

如何访问通过 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");
java html gwt
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);

0
投票

是的,你可以

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


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

现在使用

elementById

在获取之前请确保我已经添加到 DOM 中。

© www.soinside.com 2019 - 2024. All rights reserved.