0

我有一个 for 循环,如:

for(i=0; i<6; i++)
{
if(i=0)
{a1 = '<div>something1</div>';}
if(i>=1 & i<=5)
{b1 = '<div>something2</div>';}
}
document.getElementById('example').innerHTML = a1 + b1;

<div id='example'></div>

结果只有:<div>something1</div><div>something2</div>

我想要结果:

<div>something1</div>
<div>something2</div>
<div>something2</div>
<div>something2</div>
<div>something2</div>
<div>something2</div>

我怎么能用for loop上面的方法做到这一点。谢谢你的帮助。

4

4 回答 4

2

您正在覆盖相同的变量b而不是向其附加值。

在这种情况下,我将使用的一种解决方案是使用一个数组(更新为使用 2 个数组来支持很多完整的情况,其中 a/b 值可以互换出现)。

var array1 = [], array2 = [];
for (i = 0; i < 6; i++) {
    if (i = 0) {
        array1.push('<div>something1</div>');
    }
    if (i >= 1 & i <= 5) {
        array2.push('<div>something2</div>');
    }
}
document.getElementById('example').innerHTML = array1.join('') + array2.join('');

或使用字符串连接

var a = '',
    b = '';
for (i = 0; i < 6; i++) {
    if (i = 0) {
        a1 += '<div>something1</div>';
    }
    if (i >= 1 & i <= 5) {
        b1 += '<div>something2</div>';
    }
}
document.getElementById('example').innerHTML = a1 + b1;
于 2013-10-24T05:53:17.033 回答
1

尝试以下代码:

var a1='';
var b1='';
for(i=0; i<6; i++)
{
   if(i==0)
   {
      a1 = '<div>something1</div>';
   }
   else if(i<6)
   {
      b1=b1+ '<div>something2</div>';
   }
}
document.getElementById('example').innerHTML = a1 + b1;
于 2013-10-24T06:19:59.313 回答
1
var append_data;
for (i = 0; i < 6; i++) {
    if(i == 0){
        append_data += '<div>something1</div>';
    }else{
         append_data += '<div>something2</div>';
    }
}
document.getElementById('example').innerHTML = append_data;
于 2013-10-24T05:54:37.107 回答
1
for(i=0; i<6; i++)
{
if(i==0)
{a1 = '<div>something1</div>';}
if(i>=1 && i<=5)
{b1 = '<div>something2</div>';}
}
document.getElementById('example').innerHTML = a1 + b1;

<div id='example'></div>

查看介绍性 JavaScript 参考。=是赋值运算符。用于==检查是否相等,&&用于逻辑 AND。

于 2013-10-24T05:54:11.220 回答