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