JavaScriptダイナミックジェネレーションテーブルの例


要求:
HTMLタグは1行のヘッダだけを書きます。
JSを通じて動的な表を書きます。
学習とプレゼンテーションのために、バックグラウンドデータの呼び出しには関連しない固定データを使用します。
コードの実装:
HTML内容:

<table cellspacing="0">
  <thead>
    <tr>
      <th>  </th>
      <th>  </th>
      <th>  </th>
      <th>  </th>
    </tr>
  </thead>
  <tbody></tbody>
</table>
CSS内容:

table {
  width: 500px;
  margin: 100px auto;
  border-collapse: collapse;
  text-align: center;
}

td,
th {
  border: 1px solid #333;
}

thead tr {
  height: 40px;
  background-color: #ccc;
}
JS内容:

// 1.         ,       ,           
var datas = [{
  name: '  ',
  subject: 'JavaScript',
  score: 100
}, {
  name: '  ',
  subject: 'JavaScript',
  score: 98
}, {
  name: '  ',
  subject: 'JavaScript',
  score: 99
}, {
  name: '  ',
  subject: 'JavaScript',
  score: 88
}, {
  name: '  ',
  subject: 'JavaScript',
  score: 0
}];
// 2.  tbody      :     (       )       
var tbody = document.querySelector('tbody');
for (var i = 0; i < datas.length; i++) { //    for     tr
  // 1.    tr 
  var tr = document.createElement('tr');
  tbody.appendChild(tr);
  // 2.         (       3    ) td                      for       datas[i]
  for (var k in datas[i]) { //    for     td
    //       
    var td = document.createElement('td');
    //           datas[i][k]   td 
    // console.log(datas[i][k]);
    td.innerHTML = datas[i][k];
    tr.appendChild(td);
  }
  // 3.      2       
  var td = document.createElement('td');
  td.innerHTML = '<a href="javascript:;" rel="external nofollow" >  </a>';
  tr.appendChild(td);

}
// 4.     
var as = document.querySelectorAll('a');
for (var i = 0; i < as.length; i++) {
  as[i].onclick = function() {
    //   a     a    (a       ) node.removeChild(child) 
    tbody.removeChild(this.parentNode.parentNode)
  }
}
// for(var k in obj) {
//   k        
//   obj[k]       
// }
実現効果:

削除ボタンをクリックして、該当するギルドを削除します。
「張三」のデータを削除するにはクリックしてください。

以上はJavaScript動態生成表の例の詳細です。JavaScript生成表に関する資料は他の関連記事に注目してください。