【发布时间】:2011-07-04 19:53:16
【问题描述】:
我在 com.google.gwt.dom.client.Element 类上看不到任何允许我获取元素节点的所有属性的方法。我错过了什么吗?
大概我可以通过放入本机代码来获取底层 Javascript 对象的属性数组?我知道结果取决于浏览器,但似乎有已知的解决方法。我没有深入研究原生 JS,所以如果有人能告诉我如何去做,那将是一个奖励。
【问题讨论】:
标签: javascript java gwt
我在 com.google.gwt.dom.client.Element 类上看不到任何允许我获取元素节点的所有属性的方法。我错过了什么吗?
大概我可以通过放入本机代码来获取底层 Javascript 对象的属性数组?我知道结果取决于浏览器,但似乎有已知的解决方法。我没有深入研究原生 JS,所以如果有人能告诉我如何去做,那将是一个奖励。
【问题讨论】:
标签: javascript java gwt
我在 GWT 中寻找一种方便的方法,但很惊讶我找不到。
大概我可以通过放入本机代码来获取底层 Javascript 对象的属性数组?我知道结果取决于浏览器,...
是的,使用JSNI,您可以定义一个将元素的“属性”属性作为合适的Java对象返回的方法:
public static native JsArray<Node> getAttributes(Element elem) /*-{
return elem.attributes;
}-*/;
你可以这样使用它:
final JsArray<Node> attributes = getAttributes(element);
for (int i = 0; i < attributes.length(); i ++) {
final Node node = attributes.get(i);
String attributeName = node.getNodeName();
String attributeValue = node.getNodeValue();
...
}
【讨论】: