如何使用GWT获取“父”元素

时间:2013-03-07 02:55:27

标签: java gwt errai

假设我的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,比如HomePage:

@Inject @DataField Anchor home;

如何获取List li元素?

是的:home.getParent(); // which returns a widget?然后把它投到UListElement?是吗?

更新

我的主要目标是将li元素的ID设置为“托盘激活”,因此当点击锚点项时,“父”li元素设置为“托盘激活” “

2 个答案:

答案 0 :(得分:5)

不需要施展任何东西。

你可以这样做:

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

API

答案 1 :(得分:2)

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

anchor.getElement().getParentElement()

其中锚是你的锚元素。

anchor.getElement() 

给你Anchor的元素和

anchor.getElement().getParentElement() ;

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

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

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