在 GWT 中按属性获取 DOM 元素

Get DOM Element by Attribute in GWT?

本文关键字:获取 DOM 元素 属性 GWT      更新时间:2023-09-26

我想将GWT中的元素添加到静态html页面的以下元素中:

<div data-id="test"></div>

当我会使用它时:

<div id="test"></div>

然后我可以使用以下命令访问该元素:

RootPanel.get("test").add(someElement);

这仅在我使用 id 属性时才有效。

如何访问使用属性(如 data-id)的元素,如我在第一个示例中所示,并在其上附加面板或小部件?

如果你不需要支持 IE6/7,那么你可以使用 JSNI:

Element querySelector(String selectors) /*-{
  return $doc.querySelector(selectors);
}-*/;

有关兼容表,请参阅 http://caniuse.com/queryselector。

也许 GWT 3.0 会将其添加到 GWT 中,因为 IE6/7 支持肯定会被删除(仅在 GWT 2.6 中默认禁用)

现在您已经获得了Element不幸的是没有RootPanel.get(Element)方法,因此您可以获得可以添加其他小部件的面板小部件的唯一方法是使用 HTMLPanel.wrap(Element) .

使用 gwtquery,你可以像这样匹配元素:

$("div[data-id='test']").add(someElement);