11-案例三:JS控制表格隔行换色的总结第一行不换色
12-案例四:JS控制复选框的全选和全不选-需求和分析
13-案例四:JS控制复选框的全选和全不选-代码实现
14-案例四:JS控制复选框的全选和全不选-总结DOM
15-案例五:JS控制二级联动的需求和分析
16-案例五:JS控制二级联动的代码实现
17-案例五:JS控制二级联动的总结内置对象
18-案例五:JS控制二级联动的总结全局函数
19-案例六:JS控制下拉列表左右选择-需求
20-案例六:JS控制下拉列表左右选择-分析和代码实现
在网站的后台的表格页面中让表格显示出隔行换色的效果:
【使用JS控制表格】
var tab1 = Document.getElementById(“tab1”);
var rows = tab1.rows.length;
for(){
if(i % 2 == 0){
}
}
<script>
window.onload = function(){
// 获得表格元素:
var tab1 = document.getElementById("tab1");
// 获得表格的所有的行数:
var len = tab1.rows.length;
// 遍历所有的长度
for(var i=0;i<len;i++){
// 判断是奇数行还是偶数行:
if(i % 2 == 0){
tab1.rows[i].style.backgroundColor = "#33FF22";
}else{
tab1.rows[i].style.backgroundColor = "#883311";
}
}
}
</script>
表格隔行换色的时候,将最上一行也换掉了。第一行往往不需要进行换色的。
<table>
<thead>
<tr>
<th></th>
<tr>
</thead>
<tbody>
<tr>
<td></td>
<tr>
</tbody>
</table>
代码实现:
window.onload = function(){
// 获得表格元素:
var tab1 = document.getElementById("tab1");
// 查找表格中tbody中的所有的行数。
var len = tab1.tBodies[0].rows.length;
for(var i = 0 ;i<len ;i++){
if(i % 2 == 0){
tab1.tBodies[0].rows[i].style.backgroundColor="green";
}else{
tab1.tBodies[0].rows[i].style.backgroundColor="gold";
}
}
}
在后台管理页面中,往往会有批量删除数据的效果,就需要有复选框全选和全部选的效果。
function selectAll(){
// alert("aaa");
// 获得上面的复选框:
var sAll = document.getElementById("selectAll");
if(sAll.checked == true){
// 上面的复选框被选中
// 将下面的所有的复选框都被选中。
var selectOnes = document.getElementsByName("selectOne");
// 遍历数组中的每个元素,让每个元素都被选中:
for(var i = 0;i<selectOnes.length;i++){
selectOnes[i].checked = true;
}
}else{
// 上面的复选框被选中
// 将下面的所有的复选框都被选中。
var selectOnes = document.getElementsByName("selectOne");
// 遍历数组中的每个元素,让每个元素都被选中:
for(var i = 0;i<selectOnes.length;i++){
selectOnes[i].checked = false;
}
}
}
DOM:Document Object Model 文档对象模型.
Document:文档对象.代表的是加载到内存中的整个的文档
方法:
Element:元素对象.代表文档中的每个元素(标签)
<ul>
<li>北京</li>
<li>上海</li>
<li>深圳</li>
</ul>
属性:
方法:
Attribute:属性对象.代表元素上的属性.
Document,Element,Attribute统称为Node(节点)
在注册页面上有一个下拉列表,下拉列表显示省份信息,有另一个下列列表.选择某个省份,将这个省份下的城市列出.
【DOM创建元素】
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function addEl(){
// 创建元素:
var liEl = document.createElement("li");// <li></li>
// 创建文本节点:
var textEl = document.createTextNode("广州");// 广州
// 将文本放入到li元素:
liEl.appendChild(textEl);// <li>广州</li>
// 获得ul元素:
var ulEl = document.getElementById("ul1");
// 将li放入到ul
ulEl.appendChild(liEl);
}
</script>
</head>
<body>
<ul id="ul1">
<li>北京</li>
<li>上海</li>
<li>深圳</li>
</ul>
<input type="button" value="点击" onclick="addEl()"/>
</body>
</html>
【数组对象的使用】
创建数组:
数组的属性:
数组的方法:
// 定义二维数组:
var cities = new Array(4);
cities[0] = new Array("长春市","吉林市","松原市","延边市");
cities[1] = new Array("济南市","青岛市","烟台市","潍坊市","淄博市");
cities[2] = new Array("石家庄市","唐山市","邯郸市","廊坊市");
cities[3] = new Array("南京市","苏州市","扬州市","无锡市");
function selectCity(val){
// alert(val);
var citySel = document.getElementById("city");
// 清除原有的option:
citySel.options.length = 0;
// 遍历数组:
for(var i=0;i<cities.length;i++){
if(val == i){
// 遍历数组:
for(var j = 0 ;j<cities[i].length;j++){
// alert(cities[i][j]);
// 创建option元素:
var opEl = document.createElement("option");
// 创建文本元素:
var textNo = document.createTextNode(cities[i][j]);
// 将文本添加到option中.
opEl.appendChild(textNo);
// 将option添加到第二个下拉列表中
citySel.appendChild(opEl);
}
}
}
}
查看文档了解方法:
全局函数:
parseInt(); 将字符串转出整型
parseFloat(); 将字符串转成小数
encodeURI()
decodeURI()
encodeURIComponent()
decodeURIComponent()
eval() :将一段字符串当成一个JS的代码来运行
有两个列表,需要将左侧列表中的数据添加到右侧的列表中: