在問這個問題之前,我探索瞭如何將元素動態添加到列表中的現有答案,並將其中的幾個納入了我的解決方案,以滿足我的需求。但是,似乎該列表從未被填充。我在想這個問題可能與訪問列表來追加元素有關,但我不完全確定。如何動態填充HTML頁面上的列表
我的HTML:
<div class="row" id="row">
<div class="col-sm-4" id="faculty">
<h3> Faculty Decks </h3>
<ul id="faculty_list"> </ul>
</div>
<div class="col-sm-4">
<h3> Instructions </h3>
<p> Select your decks, select front (questions) or back (answers) of the the card and start studying. </p>
<div>
<input class="front" type="radio" name="card" id="front" value="Front"> Front  </input>
<input class="back" type="radio" name="card" id="back" value="Back"> Back</input>
<br />
<br />
<button> Start Studying </button>
</div>
</div>
<div class="col-sm-4" id="student">
<h3> Student Decks </h3>
<ul id="student_list"> </ul>
</div>
我別的調用JavaScript函數,其中在HTML文件中,我已經證實,該函數被調用,參數是我所期望的,並且循環運行相應的次數。
這是我的javascript功能:
function populateLists(json) {
for (var i = 0; i < json.length; i++){
//Create a new list element
var list_item = document.createElement('li');
list_item.setAttribute('name', json[i].name);
//Create the checkbox to add to the list element
var select_checkbox = document.createElement('input');
select_checkbox.type = 'checkbox';
select_checkbox.id = json[i].deck_ID;
//Add the checkbox to the list element
list_item.appendChild(select_checkbox);
var list = document.getElementById('row').getElementById((json[i].faculty=='1')?'faculty':'student' + '_list');
list.append(list_item);
}
}
您可以創建一個plunker例子來證明這一點?它看起來像你的HTML缺少一些關閉的div標籤。我不能看到,與ID「行」的div是關閉。另外,不是特別清楚,如果你真的想添加新創建的'li'元素div或ul。 –