【问题标题】:How to add HTML without a DIV (GWT)如何在没有 DIV (GWT) 的情况下添加 HTML
【发布时间】:2013-08-09 16:03:49
【问题描述】:

我正在尝试动态创建菜单(使用数据库中的一些数据),当我尝试使用 gwt HTML 复合或 HTMLPanel 添加新菜单项“li”时会出现问题,li 添加在 div 元素中!这打破了我的风格并打破了菜单,如何在gwt中添加没有div的html??

<ul style="display: none;" id="agence-id" class="submenu">      
<div class="gwt-HTML">
<li>
<a id="P45O421">  
<i class="icon-double-angle-right">
</i>P45O421</a>
</li>
</div>
<div class="gwt-HTML">
<li>
<a id="c2">  
<i class="icon-double-angle-right">
</i>c2
</a>
</li>
</div>
<div class="gwt-HTML">
<li>
<a id="c3">   
<i class="icon-double-angle-right"></i>c3</a>
</li>
</div>
<div class="gwt-HTML">
<li>
<a id="c4">   
<i class="icon-double-angle-right">
</i>c4</a>
</li>
</div>

【问题讨论】:

    标签: gwt html html-lists


    【解决方案1】:

    使用构造函数创建HTMLPanel,您可以在其中设置标记:HTMLPanel("li", yourHTML);。这将使用li 而不是标准的div

    【讨论】:

    • 我使用了另一种方式,但只是为了避免问题,在将我的 html("ul" 和 "li"s) 添加到 HTMLPanel 之前,在 String 中动态添加它,但你的解决方案是最好的,谢谢你:)
    【解决方案2】:

    您可以使用 dete Document.get().createLIElement() 方法创建 Li 元素,然后将它们添加到您的 ul 元素中。 当你调用 RootPanel.get("YOURID").你得到 ul 元素,因为你给了它一个 id,因此可以在 DOM 中找到它:

    代码示例:

    import com.google.gwt.dom.client.Document;
    import com.google.gwt.dom.client.LIElement;
    
    ...
    
    HeadingElement liElement = Document.get().createLIElement();
    liElement.setInnerText("This is a Li(l1) element!");
    RootPanel.get("agence-id").getElement().appendChild(liElement );
    

    【讨论】:

      猜你喜欢
      • 2013-01-06
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2019-03-01
      相关资源
      最近更新 更多