2016-11-02 16 views
0

からHTMLリストを作成します:私はオブジェクトの配列持つJSON

<div class="col-lg-12" id="list-puntate"> 
    <!-- Insert my list here -->        
</div> 

JS

var listDiv = document.getElementById('list-puntate'); 
var ul = document.createElement('ul'); 
ul.appendChild(listDiv); 
for(var i = 0; i < data.list.length; ++i) { 
    var li = document.createElement('li'); 
    li.appendChild(data.list[i].puntata); 
    ul.appendChild(li);         
} 

私が持っているしたいと思います:私がdiv要素を持っている

enter image description here

を結果は次のようになります。

<div class="col-lg-12" id="list-puntate"> 
    <ul> 
    <li>values of data.list[i].puntata</li> 
    <li>...</li> 
    </ul>        
</div> 
次のようにあなたがやるべき
+0

'.appendChild()は' '要素にNode'を追加してみてください。しかし 'data.list [i] .puntata'(' li.appendChild(data.list [i] .puntata); ')は' Node'ではなく文字列です。文字列をノードに変換するには、['.createTextNode()'](https://developer.mozilla.org/en-US/docs/Web/API/Document/createTextNode)を使用します。この文字列は ' .appendChild() ' – Andreas

答えて

0

var listDiv = document.getElementById('list-puntate'); 
var ul=document.createElement('ul'); 
for (var i = 0; i < data.list.length; ++i) { 
     var li=document.createElement('li'); 
     li.innerHTML = data.list[i].puntata; // Use innerHTML to set the text 
     ul.appendChild(li);         
} 
listDiv.appendChild(ul); // Note here 
+0

はい、うまくいきますが、私の配列jsonは私のDBのデータの呼び出しajaxです。私のdivのリストを私のDBのリストで1秒ごとに更新しています。 10項目が10,20,30、...などになっています。 "for"サイクルの終了後にlist htmlをクリアする方法はありますか?ありがとうございました! –

+0

すべての 'li'を削除するには' ul.innerHTML = '' 'を呼び出してください。 –

1

この

var listDiv = document.getElementById('list-puntate'); 
var ul=document.createElement('ul'); 
listDiv.appendChild(ul); 
for (var i = 0; i < data.list.length; ++i) { 

    var li=document.createElement('li'); 
    var textnode = document.createTextNode(data.list[i].puntata);  
    li.appendChild(textnode); 
    ul.appendChild(li);         
} 
関連する問題