一:实现动态表格的三种常用方法
1、写好创建表格的 html 代码,赋值给 div 的 innerHTML。
2、用创建好的 table 元素的方法 insertRow 和 insertCell 来实现。
3、指定行列创建表格:通过循环。
代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表格</title>
<link rel="stylesheet" type="text/css" href="./css/index.css" />
</head>
<body>
<table>
<thead class="set">
<th>
<input id="gaga" type="CheckBox" onchange="setAll()" name="title" />
<span id="text">
全选
</span>
<th>发件人</td>
<th>邮箱名称</td>
<th>邮箱附属信息</td>
</th>
</tr>
<tbody>
</tbody>
<tfoot>
<tr>
<td>
<input class="xixi" type="button" onclick="selectAll()" value="全选" name="qx" />
</td>
<td> <input type="button" onclick="unSelectAll()" value="取消全选" name="qq" />
</td>
<td> <input type="button" onclick="setOthers()" value="反选" name="fx" />
</td>
<td> <input type="button" onclick="delectAll()" value="删除所有附属信息" name="sc" />
</td>
</tr>
</tfoot>
</table>
</body>
<script type="text/javascript" src="./js/index.js"></script>
</html>
var email = [{
name: "张三1",
emailtitle: "邮件1",
emailcontent: "你要接受"
}, {
name: "张三2",
emailtitle: "邮件2",
emailcontent: "你要接受"
}, {
name: "张三3",
emailtitle: "邮件3",
emailcontent: "你要接受"
}, {
name: "张三4",
emailtitle: "邮件4",
emailcontent: "你要接受"
}, {
name: "张三5",
emailtitle: "邮件5",
emailcontent: "你要接受"
}, {
name: "张三6",
emailtitle: "邮件6",
emailcontent: "你要接受"
}, {
name: "张三7",
emailtitle: "邮件7",
emailcontent: "你要接受"
}, {
name: "张三8",
emailtitle: "邮件8",
emailcontent: "你要接受"
}, {
name: "张三9",
emailtitle: "邮件9",
emailcontent: "你要接受"
}];
var mytbody = document.querySelector("tbody");
for (var i = 0; i < email.length; i++) {
var mytr = document.createElement("tr");
mytbody.appendChild(mytr);
var mytd = document.createElement("td");
mytr.appendChild(mytd);
mytd.innerHTML = "<input type='CheckBox' class='xixi' />";
for (var k in email[i]) {
var mytd = document.createElement("td");
mytr.appendChild(mytd);
mytd.innerHTML = email[i][k];
}
}
var mytr = document.querySelectorAll("tbody tr")
for (var i = 0; i < mytr.length; i++) {
if (i % 2 == 0) {
mytr[i].classList.add("c_singular");
} else {
mytr[i].classList.add("c_even");
}
}
var gaga = document.getElementById("gaga"); //定义
var inputs = document.getElementsByClassName("xixi");
function setAll() {
//判断
if (gaga.checked) {
selectAll();
} else {
unSelectAll();
}
}
function selectAll() {
//循环
for (var i = 0; i < inputs.length; i++) {
inputs[i].checked = true; //点击复选框,下面全选为true
}
gaga.checked = true;
}
function unSelectAll() {
//定义
for (var i = 0; i < inputs.length; i++) {
inputs[i].checked = false; //点击复选框,下面全选为false
}
gaga.checked = false;
}
function setOthers() {
var qx = document.getElementById("gaga");
//定义
//循环
for (var i = 0; i < inputs.length; i++) {
inputs[i].checked = !inputs[i].checked; //点击反选,原本选中的不选,原本没选中的选中
}
}
function delectAll() {
var cc = document.querySelectorAll("tbody tr"); //找到content
if (cc.length == 0) {
alert("内容已全部删除!!!")
} else {
//定义
for (var c = 0; c < cc.length; c++) {
cc[c].remove(); //直接删除
}
//console.log(cc);
}
}
二:js 的特点
- 解释型语言
- 类似于 C 和 Java 的语法结构
- 动态语言
- 基于原型的面向对象
三:js 的命名规范
1)代码规范通常包括以下几个方面:
- 变量和函数的命名规则
- 空格,缩进,注释的使用规则。
- 其他常用规范
2)变量名
- 变量名区分大小写,且包含字母、数字、美元符号和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号
- 变量命名长度应该尽可能的短
- 变量名的命名是有意义的
- 变量名不能为 JavaScript 中的关键词、保留字全名
- 变量名命名方法常见的有匈牙利命名法、驼峰命名法和帕斯卡命名法。
- 变量名推荐使用驼峰法来命名 (camelCase)
注意:- 通常在 JavaScript 中被认为是减法,所以不允许使用。
3)对象规则
对象定义的规则:
- 将左花括号与类名放在同一行。
- 冒号与属性值间有个空格。
- 字符串使用双引号,数字不需要。
- 最后一个属性 - 值对后面不要添加逗号。
- 将右花括号独立放在一行,并以分号作为结束符号。