我有一个GWT应用程序, 如果不可能,我想为每个元素自动添加ID 手动执行此操作的最快方法是什么?如何强制GWT为每个DOM元素添加唯一ID?
2
A
回答
1
是其可能的:
第一种方式:
Button b = new Button();
DOM.setElementAttribute(b.getElement(), "id", "my-button-id")
方式二:
FlowPanel panel = new FlowPanel();
panel.getElement().setId("my-flowpanel-id");
如果你想要做的分配所有的ID连接到DOM可以做
Iterator<Widget> iterator = RootPanel.get().iterator();
while(iterator.hasNext()) {
Widget w = iterator.next();
w.getElement().setId("id");
}
+0
我正在寻找一个命令将其全部添加... – ciochPep 2013-02-11 00:12:52
1
您可以创建扩展GWT窗口小部件,并设置一个ID每一个你自己的Widget类:
public class myWidget extends Widget {
public myWidget(String id) {
super();
getElement().setId("id");
}
public void setId(String id) {
// Use this method if you use Ui:Binder
getElement().setId("id");
}
}
可以,很明显,扩展其他类,而不是小工具,如果你并不需要所有的部件编号,如FlowPanel,Button等。
1
如果你想要一个元素始终有一个Id,你可以使用UI Object类的ensureDebugId。它确保你的元素在将它附加到dom之前已经设置了Id。
3
我不太确定性能问题。如何以10-20小部件的形式添加露露ID会导致性能下降?
要自动为小部件设置调试ID,您需要在module.gwt.xml文件中包含以下内容。
<!-- Enable debug ID. -->
<inherits name="com.google.gwt.user.Debug"/>
<set-property name="gwt.enableDebugId" value="true"/>
相关问题
- 1. MongoDB/Meteor:为每个数组元素添加唯一ID
- 2. HOWTO为每个唯一行添加一个唯一的ID?
- 3. 如何复制搜索表单元素并添加唯一ID
- 4. 给每个元素的唯一的ID
- 5. ListView的每个元素的唯一ID
- 6. 添加一个数组到DOM与每个元素作为li
- 7. GWT添加ClickHandler到DOM元素
- 8. 为每个x元素添加元素?
- 9. PHP:为每个单词添加唯一ID +订单ID以@
- 10. 添加类元素每当元素被添加到DOM
- 11. 如何分配唯一的DOM元素ID
- 12. 唯一元素ID
- 13. 如何为指令的每个实例添加一个唯一的ID?
- 14. 编辑本地存储代码的唯一ID添加到每个元素
- 15. 如何在向dom元素添加类后强制重新绘制ie8
- 16. 如何给一个附加元素添加一个id?
- 17. 如何为每个4th-1元素添加一个类?
- 18. Excel - 根据单元格为每行添加一个唯一的ID
- 19. jQuery:给每个匹配的元素一个唯一的ID
- 20. 如何强制加载页面上的每个元素?
- 21. 如何强制pprint打印每行一个列表/元组/元素元素?
- 22. 克隆在jQuery中,并为每个添加唯一的ID
- 23. jquery/jquery-mobile - 如何为每个元素启动一次函数,并将元素添加到DOM中
- 24. 如何为DOM中的每个元素添加不同的文本
- 25. 每个DOM元素的HTML5数据元素ID是否过分?
- 26. 强制浏览器立即重新绘制一个DOM元素
- 27. 给一个元素的子元素添加一个ID
- 28. 重复的唯一ID向每个ID添加字母
- 29. 如何将元素添加到DOM
- 30. 如何使用jQuery添加DOM元素?
你的用例是什么?除非使用外部JavaScript,否则不需要为GWT中的元素添加ID。为每个元素添加id会对性能产生负面影响。 – 2013-02-10 19:40:36
我添加外部JS – ciochPep 2013-02-11 00:12:22
这将如何帮助外部JS?为什么外部JS不能在需要时添加自己的ID? – 2013-02-11 00:16:43