清除dojox / mobile / Accordion包含的对象

时间:2014-09-17 10:37:29

标签: dojo

我试图摧毁Accordion的后代,就是我在Accrdion中有4个内容窗格然后当我得到新数据时我想用这些数据重新填充手风琴(例如5个ContentPanes)但问题是一旦我在手风琴上调用destroyDescendants,内容窗格仍然位于以前数据中留下的dijit__Contained对象中:

<div class="mblAccordionTitle mblAccordionHasIcon mblAccordionTitleSelected" id="dijit__Contained_0" widgetid="dijit__Contained_0" style="-webkit-user-select: none;">
    <a class="mblAccordionTitleAnchor" role="presentation">
        <div class="mblAccordionIconParent mblAccordionIconParent2">
            <div class="mblSpriteIconParent" style="position: relative; width: 32px; height: 32px;">
                <img alt="" src="images/i.png" class="mblSpriteIcon" style="position: absolute; clip: rect(0px 32px 32px 0px    ); top: 0px; left: 0px;">
            </div>
        </div>
        <div class="mblAccordionIconParent mblAccordionIconParent1">
            <div class="mblSpriteIconParent" style="position: relative; width: 32px; height: 32px;">
                <img alt="" src="images/i.png" class="mblSpriteIcon" style="position: absolute; clip: rect(0px 64px 32px     32px); top: 0px; left: -32px;">
            </div>
        </div>
        <div class="mblAccordionTitleTextBox" role="tab" tabindex="0" aria-controls="widget/PersonContainerContentPane" aria    -selected="true" aria-posinset="1" aria-setsize="4">
            <span class="mblAccordionTitleLabel">John Smith
            </span>
        </div>
    </a>
</div>

所包含的对象也不是手风琴的孩子......

当我在手风琴上调用destroyDescendants时,有没有办法摆脱这个?

1 个答案:

答案 0 :(得分:0)

这解决了我的问题:

for (var i = this.accordion.containerNode.childNodes.length - 1; i >= 0; i--) {
    registry.byId(this.accordion.containerNode.childNodes[i].id).destroyRecursive(false);
};

不知道为什么破坏后代没有清理剩余的HTML。