1
全部,Javascript - 在代碼審查中使用innerHTML&id方法
以下是我正在處理的腳本的代碼。
它是什麼: 當按下藍色按鈕時,一個div應該出現在包含'5000'數字的框的頂部。
我遇到的問題是使用innerHTML &將id分配給動態創建的div。我在Firebug中沒有得到任何錯誤,所以我不知道我在哪裏出錯。
問題行:
eCreditTransactions[i].id = ("trans" + i);
eCreditTransactions[i].innerHTML = '<div class="cCreditContainer"><span class="cCreditsNo">-50</span> <img class="cCurrency" src="" alt="" /></div><span class="cCloseMsg">Click box to close.</span><div class="dots"></div><div class="dots"></div><div class="dots"></div>';
這裏是全碼:
var eCreditSystem = document.getElementById("creditSystem");
var i = 0;
var eCreditTransactions = new Array(6); // 6 instances created which will be recycled
function createCreditTransaction() // func called when a transaction occurs, at the mo, attached to onclick()
{
if (i < 6)
{
$(eCreditTransactions[i]).remove();
eCreditTransactions[i] = undefined; // to delete the existing data in the index of array
addingElements (i); // calling function
} else
if (i > 5 || eCreditTransactions[i] != undefined)
{
i = 0;
$(eCreditTransactions[i]).remove();
eCreditTransactions[i] = undefined;
console.log(eCreditTransactions[i]);
addingElements (i);
}
}
function addingElements (arrayIndex) // func called from within the 'createCreditTransaction()' func
{
console.log(eCreditTransactions[i]);
eCreditTransactions[i] = $(document.createElement('div')).addClass("cCreditTransaction").appendTo(eCreditSystem);
// the problem area
eCreditTransactions[i].id = ("trans" + i);
eCreditTransactions[i].innerHTML = '<div class="cCreditContainer"><span class="cCreditsNo">-50</span> <img class="cCurrency" src="" alt="" /></div><span class="cCloseMsg">Click box to close.</span><div class="dots"></div><div class="dots"></div><div class="dots"></div>';
console.log(eCreditTransactions[i]);
return i++;
}
看啊,現在我明白了。謝謝Irishka。這當然是有道理的。歡呼的幫助! – Kayote
歡迎您) – Irishka