如何在道场摧毁

时间:2014-04-22 13:57:55

标签: dojo destroy

我试图摧毁一个div并试图再次创建它。我在div里面有一个跨度和几个按钮。我的要求是删除div并重新创建具有相同id的相同元素。

            var element = document.createElement("div");
            element.setAttribute("id","cellDiv_divValue_"+retrieveDivID+"_"+0);

            var divSpan = document.createElement("span");
            divSpan.setAttribute("id","cellDiv_divValue_span_"+retrieveDivID+"_"+0);

            divSpan.textContent  = storeActionName +":"+appendActions.join();

            element.appendChild(divSpan);

            var deleteBtn = new dijit.form.Button({
                id: "cellDiv_divValue_deleteBtn_"+retrieveDivID+"_"+0,
                label: "Delete",
                class:"primary-button",
                style:{float:"left", left:"381px"},
                onClick: function()
                {

                }
            });

            element.appendChild(deleteBtn.domNode);

            var editBtn = new dijit.form.Button({
                id: "cellDiv_divValue_editBtn_"+retrieveDivID+"_"+0,
                label: "Edit",
                class:"primary-button",
                style:{float:"left", left:"266px"}
            });

            element.appendChild(editBtn.domNode);

            $('#divValue_'+storeBtnNumber).append(element);

目前我可以删除这些元素但是当我尝试使用相同的id重新创建它们时,应用程序会向我显示一个错误,即id已经注册。

在这方面有人可以帮助我。

谢谢, Nirmal Kumar Bhogadi

1 个答案:

答案 0 :(得分:0)

这可能是由于dijit(dijit.form.Button)。当您创建dijit的实例时,其ID为registered。您应该使用destroy方法删除旧按钮。