使用jQuery实现表格隔行换色,点击一行显示高亮颜色
以下是案例图
这是css样式文件
table { border:0;border-collapse:collapse;}
td { font:normal 12px/17px Arial;padding:2px;width:100px;}
th { font:bold 12px/17px Arial;text-align:left;padding:4px;border-bottom:1px solid #333;}
.even { background:#FFF38F;} /* 偶数行样式*/
.odd { background:#FFFFEE;} /* 奇数行样式*/
.selected { background:#FF6500;color:#fff;}
这是js文件
addClass() 方法向被选元素添加一个或多个类名
:odd 选择器选取带有奇数索引号的每个元素
hasClass() 方法检查被选元素是否包含指定的类名称
:has() 选择器选取所有包含一个或多个元素在其内的元素,匹配指定的选择器
//引入jQuery文件
<script type="text/javascript" src="js/jquery.js">
</script>
<script type="text/javascript">
$(document).ready(function () {//页面加载完成之后启动的方法
//如果tr行是奇数,addClass()添加css奇数样式
$("tbody>tr:odd").addClass("odd");
$("tbody>tr:even").addClass("even");
$("tr").click(function () {//当tr行被点击
var $sel=$(this).hasClass("selected");
$(this)[$sel?"removeClass":"addClass"]('selected')
.find(':checkbox').attr('checked',!$sel);
})
//如果按钮被选中则添加高亮颜色
$('tr:has(:checked)').addClass('selected');
})
</script>
这是HTML文件
<table>
<thead>
<tr><th> </th><th>姓名</th><th>性别</th><th>暂住地</th></tr>
</thead>
<tbody>
<tr><td><input type="checkbox" name="choice" value=""/></td>
<td>张山</td><td>男</td><td>浙江宁波</td></tr>
<tr><td><input type="checkbox" name="choice" value="" /></td>
<td>李四</td><td>女</td><td>浙江杭州</td></tr>
<tr><td><input type="checkbox" name="choice" value="" checked='checked' /></td>
<td>王五</td><td>男</td><td>湖南长沙</td></tr>
<tr><td><input type="checkbox" name="choice" value="" /></td>
<td>找六</td><td>男</td><td>浙江温州</td></tr>
<tr><td><input type="checkbox" name="choice" value="" /></td>
<td>Rain</td><td>男</td><td>浙江杭州</td></tr>
<tr><td><input type="checkbox" name="choice" value="" /></td>
<td>MAXMAN</td><td>女</td><td>浙江杭州</td></tr>
</tbody>
</table>