我正在使用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;
如果我们创建一个具有新属性的对象(附加一个计数器)。这会不会造成额外的对象吗?
答案 0 :(得分:0)
我猜你正在创建一个标签元素,如果是这样你就可以创建包含所有属性的标签,只需在每次需要新属性时克隆它,并设置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);