今日内容介绍
使用JS完成表格的隔行换色
使用JS完成复选框的全选效果
使用jS完成省级市联动效果
今日内容学习目标(针对BOM)
使用JS可以获得指定元素
使用JS可以创建元素
使用JS可以对元素的属性进行操作
使用JS可以对元素的标签体进行操作
使用jS可以对指定元素的样式进行操作(获得或修改)
案例一:对表格的隔行换色处理
技术分析和步骤分析:
新标签的学习
<thead>表格
<tr>行
<th>列</th>
</tr>
</thead>
<tbody>一个表格内部可以不止一个tbody
<tr>
<td></td>
</tr>
</tbody>
确定事件:页面加载事件
获取元素:获取表格(document.getElementById()),最终是为了获取表格中tbody中的行数
tbody里面的所有行数(rows.length)
JS遍历所有行,for循环.
获取奇数行和偶数行(对遍历中角标对2取余)
分别奇偶行设置背景颜色(.style.backgroundcolor)
步骤分析:
第一步:确定事件(onload)并为其绑定一个函数
第二步:书写函数(获取表格)
第三步:获取tbody里面的行数
第四步:对tbody里面的行进行遍历
第五步:获取奇数行和偶数行(角标对2取余)
第六步:分别对奇偶行设置背景颜色
案例一核心代码
<script type="text/javascript">
window.onload = function () {//匿名onload函数
//1.获取表格
var tblEle = document.getElementById("tbl");
//2.获取表格中tbody里面的行数(长度)
var len = tblEle.tBodies[0].rows.length;//拿到table中的第一个tbody,然后获得该tbody中的所有行的长度
for (var i = 0;i < len;i++){
if (i%2==0) {
tblEle.tBodies[0].rows[i].style.backgroundColor="pink";
} else{
tblEle.tBodies[0].rows[i].style.backgroundColor="green"
}
}
}
</script>
HtML核心代码:
<table id="tbl" border="1" width="500" height="50" align="center">
<thead>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>张三</td>
<td>22</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>25</td>
</tr>
<tr>
<td>3</td>
<td>王五</td>
<td>27</td>
</tr>
<tr>
<td>4</td>
<td>赵六</td>
<td>29</td>
</tr>
<tr>
<td>5</td>
<td>田七</td>
<td>30</td>
</tr>
<tr>
<td>6</td>
<td>汾九</td>
<td>20</td>
</tr>
</tbody>
</table>
效果图:
实现表格的高亮显示:(鼠标移上去会发生颜色改变,鼠标没有就和其他颜色一样)
分析:
第一步:确定事件(onmouseover(鼠标移上去事件)和onmouseout(鼠标移开事件))并分别为其绑定一个函数
第二步:获取鼠标移上去的哪行.
第三步:对其设置背景颜色,
核心代码:
<script type="text/javascript">
function changeColor (id,flag) {
if (flag=="over") {
document.getElementById(id).style.backgroundColor="red";
} else if(flag == "out"){
document.getElementById(id).style.backgroundColor="white";
}
}
// function resetColor (id) {
// document.getElementById(id).style.backgroundColor="white";
// }
</script>
HTML代码:
<tr id="tr1" onmouseover="changeColor('tr1','over')" onmouseout="changeColor('tr1','out')">
<td>1</td>
<td>张三</td>
<td>22</td>
</tr>
效果图:(注:鼠标移上去颜色变红,移开変白)
常用事件介绍:
onfocus/onblur:聚焦离焦事件,用于表单校验的时候比较合适
onclick/ondblicick:鼠标单击和双击事件
onkeydown/onkeypress:搜索引擎使用较多
onload:页面加载事件,所有的其他操作`(匿名方式)都可以放到这个绑定的函数里面去
onmouseover/onmouseout/onmousemove:购物网站商品详情页
onsubmit:表单提交事件
onchange:当用户改变内容的时候使用这个事件(二级联动)