2017-09-03 51 views
0

我有這樣的代碼在這裏:聲明只發生一次,在for循環 - JavaScript的

for(i = 0;i < 5;i++){ 
    var cond = document.createElement("input"); 
    cond.setAttribute('type', 'radio'); 
    cond.setAttribute('name', 'condition'); 
    cond.setAttribute('value', abc[i]); 
    div1.appendChild(cond) 
    var tc = document.createTextNode(conditions[i]); 
    div1.appendChild(tc); 
    div1.appendChild(linebreak); 
} 

var sskin = document.createElement("Button"); 
sskin.setAttribute('onClick', 'sname()'); 
sskin.innerHTML = "Submit"; 
div1.appendChild(sskin); 

這裏是什麼所有的變量是指:

var div1 = document.createElement("div"); 
linebreak = document.createElement("br"); 

但是,輸出僅適用的特徵線到for循環中的最後一個循環。所有的按鈕並排,然後按鈕在下一行。我不知道這裏發生了什麼。

回答

1

這是因爲換行是在循環外部定義的單個元素,因此您只需在每次迭代中將其移動到div1的末尾。試試:

for(i = 0;i < 5;i++){ 
    let linebreak = document.createElement("br"); 
    var cond = document.createElement("input"); 
    cond.setAttribute('type', 'radio'); 
    cond.setAttribute('name', 'condition'); 
    cond.setAttribute('value', abc[i]); 
    div1.appendChild(cond) 
    var tc = document.createTextNode(conditions[i]); 
    div1.appendChild(tc); 
    div1.appendChild(linebreak); 
}