1

静的 HTML ページの次の要素に GWT の要素を追加したいと考えています。

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

私がこれを使用したとき:

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

次に、次の方法で要素にアクセスできました。

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

これは、id 属性を使用した場合にのみ機能します。

最初の例で示したように、data-id のような属性を使用する要素にアクセスし、Panel または Widget をアタッチするにはどうすればよいですか?

4

2 に答える 2

3

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)です。

于 2013-11-14T17:10:15.613 に答える
0

gwtqueryを使用すると、次のように要素を一致させることができます。

$("div[data-id='test']").add(someElement);
于 2013-11-14T16:45:12.897 に答える