我有一个循环,该循环创建List项并将其插入到<ol>
元素中。它工作得很好,但是,它首先打印出的内容是<ol>
内的“ undefined”(虽然不是<li>
项),然后才出现真正的<li>
项。
var calculatedPayments
是input field
中的数字(如5)。
<ol id="month-list" class="list-group"></ol>
var i;
var monthsItem;
for (i=1; i <= calculatedPayments; i++) {
monthsItem += '<li class="list-group-item"> Månad '+i+':';
monthList.innerHTML = monthsItem;
console.log(i);
}
答案 0 :(得分:2)
在将<li>
分配给monthsItem时,不要使用+ before =,它是将monthsItem的值(显然是未定义的)与您的<li>
片段连接在一起。
只需使用简单的赋值运算符即可进行赋值:
monthsItem = '<li class="list-group-item"> Månad '+i+':';
答案 1 :(得分:1)
在循环的第一次迭代中,尚未定义变量monthsItem
,因此,在调用此行时,其值已映射到undefined
:
monthsItem += '<li class="list-group-item"> Månad '+i+':';
解决方法:将monthsItem
初始化为空字符串:
var monthsItem = "";