2013-10-24 126 views
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。謝謝你的幫助。

+0

插入''
在你的for循環的每個迭代結束。我想這應該有所幫助。 – David

+0

'我= 0'應該是'我=== 0' –

回答

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; 
+0

非常感謝你。你的回答非常好。我在你的幫助下做到了。謝謝。 –

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基準。 =是賦值運算符。使用==檢查是否相等,&&是否爲邏輯與。

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; 
+1

感謝您的幫助。這是實際的解決方案。 –

+1

@happi歡迎高興幫忙:) –

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;