1

大丈夫。もののリストを作成するために使用しているカスタム オブジェクトを作成しました。このカスタム オブジェクトの機能の 1 つは、オブジェクトをリストに追加することです。このリストには、リストに追加されたアイテムの数を追跡する、それぞれの異なる要素に割り当てる値があります。そのような:

(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 値を作成する方法を考えています。

4

1 に答える 1

1

これを試して

var list = document.getElementById("blah");
var li = document.createElement("li");
var interior = "<span id='counter-"+this.count+"'>("+this.count+")</span>";
li.innerHTML = interior;
于 2012-07-18T19:23:28.800 に答える