【问题标题】:How to get the "parent" element with GWT如何使用 GWT 获取“父”元素
【发布时间】:2013-03-07 02:55:27
【问题描述】:

假设我的 GWT 应用程序中有 html 部分:

    <ul>
        <li id="tray-active"><a data-field="home">Homepage</a></li> <!-- Active page -->
        <li><a data-field="news">News</a></li>
        <li><a data-field="products">Products</a></li>
        <li><a data-field="sales">General Sales T&C</a></li>
        <li><a data-field="job">Job Opportunities</a></li>
    </ul>

而且我能够获得 AnchorElement,比如主页:

@Inject @DataField Anchor home;

如何获取 List li 元素?

是:home.getParent(); // which returns a widget 吗?然后将其转换为 UListElement ?是这样吗?

更新:

我的主要目标是将 li 元素的 id 设置为“tray-active”,因此当单击锚项目时,“父”li 元素设置为“tray-active”

【问题讨论】:

    标签: java gwt errai


    【解决方案1】:

    不需要投射任何东西。

    你可以这样做:

    home.getParent().getElement().setId("tray-active");
    

    API

    【讨论】:

    • 你是如何测试的?? firebug ??li eliment 的 id 属性中出现了什么?
    • 或者 com.google.gwt.dom.client.Document.get().getElementById("homelinkid").getParentElement().setId("tray-active")
    【解决方案2】:

    这应该给你你想要的元素对象:

    anchor.getElement().getParentElement()
    

    其中anchor 是您的锚元素。

    anchor.getElement() 
    

    给你锚的元素和

    anchor.getElement().getParentElement() ;
    

    将为您提供锚的元素父级,在您的情况下应该是 li 元素

    现在如果你想为这个元素设置一个属性,比如id,这样做:

    anchor.getElement().getParentElement().setAttribute("id", "li_id") ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多