JavaScript-多次创建具有相同属性的标签

JavaScript - Creating Label with same properties multiple times

本文关键字:属性 标签 创建 JavaScript-      更新时间:2024-04-14

我正在使用JavaScript创建一个Label对象。应在事件发生时创建此Label对象。一切都很好。但是,当再次触发同一事件时,这就是我看到的问题:"adding element with duplicate id"。我尝试销毁/删除Label对象,并在每次触发事件时创建它。但没有运气。有什么建议吗??

请建议,如何一次又一次地重新创建具有相同属性的Label对象?

请查找代码

switch(locDetail)
        {
            case 'K1':
                klocation = "INDIA";
                //var oLocLabel1 = null;
                //alert("INDIA");
                //document.getElementById('LocLabelContent').innerHTML = "";
                var oLocLabel1 = new sap.ui.commons.Label("LocationDetailsLabel1");
                oLocLabel1.setText(klocation);
                oLocLabel1.placeAt("LocLabelContent1");
                //delete oLocLabel1;
                //document.getElementById('LocLabelContent').innerHTML = klocation;
                oLocLabel1.destroy();
                break;

如果我们创建一个具有新属性的对象(附加一个计数器)。这不会造成额外的物体吗?

我猜你正在创建一个标签元素,如果是这样的话,你可以创建带有所有属性的标签,每次需要新标签时都克隆它,并用递增计数器设置ID以获得唯一的ID,类似于:

var label   = document.createElement('label'),
    counter = 0;
label.innerHTML = 'some label text';
label.style.color = 'red';
someElement.addEventListener('click', function() {
    var lbl = label.cloneNode(true);
    lbl.id  = 'label_' + (++counter);
    document.body.appendChild(lbl);
}, false);
相关文章: