其他分享
首页 > 其他分享> > 使用jQuery实现表格隔行换色,点击一行显示高亮颜色

使用jQuery实现表格隔行换色,点击一行显示高亮颜色

作者:互联网

使用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>

标签:jQuery,奇数,selected,tr,隔行,换色,odd,选择器,addClass
来源: https://blog.csdn.net/qq_52959651/article/details/110239494