请问如何在js中写对应的代码,觉得jsp看着复杂。从数据库中获取了对应的学生对象,得到了一个集合,想把这个集合遍历并输出。
你用js更复杂,先用ajax拿到json数据,遍历数据,然后把html元素全部追加到table里,原生js写起来很复杂,你用jQuery可能简单点,但也没jsp这个语法简单
回答不易,记得采纳!
<table id="student-table">
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>班级</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
js的基础知识,jsp就别用了吧..,用js的ajax获取数据就添加就行了,vue做这个更简单!
// 模拟数据
var students = [
{sno: "001", name: "张三", banji: "一班"},
{sno: "002", name: "李四", banji: "二班"},
{sno: "003", name: "王五", banji: "三班"}
];
// 获取表格标签
var table = document.getElementById("student-table");
// 遍历数组中的每个student对象
for (var i = 0; i < students.length; i++) {
// 创建一行tr元素
var row = document.createElement("tr");
// 创建三个td元素,分别对应学号、姓名、班级
var snoCell = document.createElement("td");
snoCell.innerHTML = students[i].sno;
var nameCell = document.createElement("td");
nameCell.innerHTML = students[i].name;
var banjiCell = document.createElement("td");
banjiCell.innerHTML = students[i].banji;
// 将三个td元素添加到tr元素中
row.appendChild(snoCell);
row.appendChild(nameCell);
row.appendChild(banjiCell);
// 将tr元素添加到表格的tbody标签中
table.tBodies[0].appendChild(row);
}
const students = ${JSON.stringify(students)};
students.forEach(student => {
const row = document.createElement('tr');
row.setAttribute('align', 'center');
const sno = document.createElement('td');
sno.textContent = student.sno;
const name = document.createElement('td');
name.textContent = student.name;
const banji = document.createElement('td');
banji.textContent = student.banji;
const actions = document.createElement('td');
actions.textContent = '修改 删除';
row.appendChild(sno);
row.appendChild(name);
row.appendChild(banji);
row.appendChild(actions);
document.querySelector('table').appendChild(row);
});