我有一個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