我在com.google.gwt.dom.client.Element类上看不到任何允许我获取元素节点的所有属性的方法.我错过了什么吗?
据推测,我可以通过删除本机代码来获取底层Javascript对象的属性数组?我知道结果依赖于浏览器,但似乎已知有相关的解决方法.我没有潜入本机JS,所以如果有人能告诉我如何做,那将是一个奖励.
Chr*_*her 10
我在GWT中寻找了一种方便的方法,但很惊讶我找不到一个.
据推测,我可以通过删除本机代码来获取底层Javascript对象的属性数组?我知道结果取决于浏览器,...
是的,使用JSNI,您可以定义一个方法,该方法将元素的"attributes"属性作为合适的Java对象返回:
public static native JsArray<Node> getAttributes(Element elem) /*-{
return elem.attributes;
}-*/;
Run Code Online (Sandbox Code Playgroud)
你可以像这样使用它:
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();
...
}
Run Code Online (Sandbox Code Playgroud)