下面的代码中,document.write("<tr height=26 bgcolor='#FFFFFF'>");这句是干啥的?
前面不是有tr的标记了吗?这里还来这一句干啥啊,它是输出什么的?输出哪一行的表格的
下面的代码中,document.write("<tr height=26 bgcolor='#FFFFFF'>");这句是干啥的?前面不是有tr的标记了吗?这里还来这一句干啥啊,它是输出什么的?输出哪一行的表格的
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>输出梁山好汉人物信息</title>
<style type="text/css">
table{
font-size:14px;
color:#0000FF;}
th{
font-size:16px;
color:#FF00FF}
</style>
</head>
<body background="bg.gif">
<table cellspacing="1" bgcolor="#999999">
<tr height="30" bgcolor="#FFFFFF">
<th width="100">人物名称</th>
<th width="100">人物绰号</th>
<th width="160">主要事迹</th>
</tr>
<script type="text/javascript">
var name="宋江,卢俊义,林冲,鲁智深,武松";//定义人物名称字符串
var nickname="及时雨,玉麒麟,豹子头,花和尚,行者";//定义人物绰号字符串
var story="领导梁山起义,活捉史文恭,风雪山神庙,倒拔垂杨柳,醉打蒋门神";//定义主要事迹字符串
var nameArray=name.split(",");//将人物名称字符串分割为数组
var nicknameArray=nickname.split(",");//将人物绰号字符串分割为数组
var storyArray=story.split(",");//将主要事迹字符串分割为数组
for(var i=0;i<nicknameArray.length;i++){
document.write("<tr height=26 bgcolor='#FFFFFF'>");//输出<tr>标记
document.write("<td>"+nameArray[i]+"</td>");//输出人物名称
document.write("<td>"+nicknameArray[i]+"</td>");//输出人物绰号
document.write("<td>"+storyArray[i]+"</td>");//输出主要事迹
document.write("</tr>");//定义</tr>结束标记
}
</script>
</table>
</body>
</html>
这段代码中的 document.write("<tr height=26 bgcolor='#FFFFFF'>"); 是在表格中动态创建新的数据行。
前面的 <tr height="30" bgcolor="#FFFFFF"> 是表头行,只包含标题列(<th>),显示"人物名称"、"人物绰号"、"主要事迹"这些列名。
而在 for 循环中的这个 document.write() 语句则是为每个人物创建单独的数据行:
创建新行:每次循环都会创建一个新的
<tr>表格行设置样式:
height=26设置行高为26像素,bgcolor='#FFFFFF'设置背景色为白色输出内容:对于数组中的每个人物(宋江、卢俊义、林冲、鲁智深、武松),都会输出一行表格数据
对应关系:
第1次循环:输出宋江的数据行
第2次循环:输出卢俊义的数据行
以此类推,直到处理完所有人物的信息
这样设计的好处是表头固定,而数据行可以根据数组内容动态生成,如果增加或减少人物数量,代码无需修改就能自动调整表格行数