如何访问通过 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");
将
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);
是的,你可以
import com.google.gwt.user.client.DOM;
Element elementById = DOM.getElementById("div_1");
现在使用
elementById
在获取之前请确保我已经添加到 DOM 中。