好的。 我創建了一個自定義對象,用於構建事物列表。此自定義對象的其中一個功能是將對象添加到列表中。在此列表中,我爲每個不同的元素分配了一個值,用於跟蹤該項目已添加到列表中的多少項。如:使用Javascript動態更改HTML元素的ID
(3)對象#1
(2)對象#2
3,當然是該對象的 '計數' 值的2。我的問題是,我通過調用動態創建列表:
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值,每次我實例化一個新的對象。
您使用的是'new'關鍵字?這應該確保你有獨特的對象。 – 2012-07-18 19:20:27
@arxanas是的,我通過實例化它們: var object1 = new Thing(0,「blah」); – 2012-07-18 19:23:16
問題是計數器跨度的id對於對象的所有不同實例都是相同的,只需要知道更改每個不同對象的id名稱的正確方法,因此沒有兩個對象具有與其計數值關聯的相同id 。 – 2012-07-18 19:28:27