2

假设我的 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;

如何获取 Listli元素?

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

更新:

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

4

2 回答 2

5

不需要铸造任何东西。

你可以这样做:

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

API

于 2013-03-07T05:08:40.293 回答
2

这应该为您提供所需的 Element 对象:

anchor.getElement().getParentElement()

其中锚是你的锚元素。

anchor.getElement() 

给你锚元素和

anchor.getElement().getParentElement() ;

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

现在,如果您想为此元素设置一个属性,例如 id,请执行以下操作:

anchor.getElement().getParentElement().setAttribute("id", "li_id") ;
于 2013-03-30T22:08:43.770 回答