本文介绍利用JavaScript动态生成HTML表格的两种实现方式。通过用户输入行列数,程序自动构建表格结构,并结合CSS或JS逻辑实现隔行换色效果。内容涵盖基础DOM操作与字符串拼接两种技术路径,适用于需要动态展示数据的Web场景。
本文旨在展示如何使用JavaScript动态生成HTML表格,其中表格的行数和列数由用户输入决定,并实现表格的隔行换色效果。
方法一:基于DOM操作的动态表格生成
第一种实现方法如下。
具体代码实现如下:
<!DOCTYPE html>
<html>
<head>
<title>动态表格</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css" rel="external nofollow" rel="external nofollow" >-->
<script type="text/javascript">
function createTable(){
var table = document.createElement("table");
//添加边框
table.border = "1";
table.width = "100%";
//table API
//创建一行
//var tr = table.insertRow(table.rows.length);
//创建单元格
//var td = tr.insertCell(tr.cells.length);
//行,单元格
var tr,td;
//获得行列值
var tr_value = document.getElementById("tr_value").value;
var td_value = document.getElementById("td_value").value;
for(var i=0;i<tr_value;i++){
//循环插入元素
tr = table.insertRow(table.rows.length);
if(i%2 === 0){
tr.style.backgroundColor = "#D5E3D0";
}else{
tr.style.backgroundColor = "#909C97";
}
for(var j=0;j<td_value;j++){
td = tr.insertCell(tr.cells.length);
td.innerHTML = "_";
td.align = "center";
}
}
//td.innerHTML = "测试";
document.querySelector("#tb").appendChild(table);
}
</script>
</head>
<body>
<input type="text" id="tr_value">输入行数
<input type="text" id="td_value">输入列数
<input type="button" onclick="createTable()"; value="createTable">
<hr>
<div id="tb"></div>
</body>
</html>
运行该代码后的效果如下:
在输入框中分别输入所需的行数和列数,点击“create Table”按钮即可生成表格。

方法二:基于字符串拼接的动态表格生成
第二种实现方法如下。
第二种方法的代码实现如下:
<!DOCTYPE html>
<html>
<head>
<title>动态表格</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css" rel="external nofollow" rel="external nofollow" >-->
<script type="text/javascript">
var rows = prompt("输入行数:", "");
var cols = prompt("输入列数:", "");
document.write('<table width="100%" border="1px">');
document.write('<caption>成绩表</caption>');
for (var row = 1; row <= rows; row++) {
if (row % 2 == 0) {
document.write('<tr bgcolor=#CCCCCC>');
} else {
document.write('<tr>');
}
for (var col = 0; col < cols; col++) {
document.write('<td height="20px"></td>');
}
document.write('</tr>');
}
document.write('</table>');
</script>
</head>
<body>
</body>
</html>
运行第二种代码后的效果如下:
同样需要输入行数和列数以生成表格。



总结
以上内容介绍了利用JavaScript动态生成带有隔行换色效果的HTML表格的两种方法,希望能对读者有所帮助。如有任何疑问,欢迎留言,作者会及时回复。感谢大家对本站的支持!