代码改变世界

表格的变色问题

2011-07-21 16:15  Rollen Holt  阅读(431)  评论(0编辑  收藏  举报

起初的样式如下:

选择之后的样式如下:

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title></title>

<link href="css/style.css" rel="stylesheet" type="text/css" />

<!--   引入jQuery -->

<script src="../scripts/jquery-1.3.1.js" type="text/javascript"></script>

<script type="text/javascript">

  $(function(){

		$("tbody>tr:odd").addClass("odd");

		$("tbody>tr:even").addClass("even");

		$('tbody>tr').click(function() {

			//判断当前是否选中

			var hasSelected=$(this).hasClass('selected');

			//如果选中,则移出selected类,否则就加上selected类

			$(this)[hasSelected?"removeClass":"addClass"]('selected')

				//查找内部的checkbox,设置对应的属性。

				.find(':checkbox').attr('checked',!hasSelected);

		});

		// 如果复选框默认情况下是选择的,则高色.

		$('tbody>tr:has(:checked)').addClass('selected');

  })

</script>

</head>

<body>

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

</body>

</html>