好的。 我创建了一个自定义对象,用于构建一个列表。此自定义对象的一个功能是将对象添加到列表中。在此列表中,我为每个不同的元素分配了一个值,用于跟踪该项目已添加到列表中的数量。如:
(3)对象#1
(2)对象#2
3和2当然是该对象的'count'值。我的问题是我通过调用动态创建列表:
function Thing(count, value)
{
this.count=count;
this.value=value;
}
Thing.prototype.addToList = function()
{
if (this.count == 0)
{
this.count++;
var list = document.getElementById("blah");
var li = document.createElement("li");
var interior = "<span id='counter'>("+this.count+")</span>";
li.innerHTML = interior;
list.appendChild(li);
}
else
{
this.count++;
var countInc = document.getElementById("counter");
countInc.innerHTML = "("+this.count+")";
}
}
这样可以正常工作,但如果我要添加多个具有单独计数值的对象,则无法区分它们,因此,列表中的第一个“计数器”范围会随计数值而改变最近添加的对象。所有其他计数值保持不变(1)。我试过了:
var interior = "<span id='counter"+this.value+"'>("+this.count+")</span>";
每次尝试创建一个唯一的ID,但这不起作用。基本上,我想知道每次实例化一个新对象时如何创建新的ID值。
答案 0 :(得分:1)
试试这个
var list = document.getElementById("blah");
var li = document.createElement("li");
var interior = "<span id='counter-"+this.count+"'>("+this.count+")</span>";
li.innerHTML = interior;