[javascript] 表格间隔颜色显示,高亮,复选框全选,删除选中项

效果演示:
在这里插入图片描述
HTML代码:
table.css

table{
	border:#249bdb 1px solid;
	width:500px;
	border-collapse:collapse;
}

table td{
	border:#249bdb 1px solid;
	padding:10px;
}

table th{
	border:#249bdb 1px solid;
	padding:10px;
	background-color:rgb(200,200,200);
}

mail.html

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <link rel="stylesheet" href="table.css">
  <title>Document</title>

  <style type="text/css">
  	.one{
		background-color:#9bf7d5;
	}
	.two{
		background-color:#f3e99a;
	}
	.over{
		background-color:red;
	}
  </style>

  <script type="text/javascript">
  	//行颜色间隔显示
	var prename;
	function trColor(){
		var oTabNode = document.getElementById("mailtable");
		var collTrNodes = oTabNode.rows;
		for(var x=0;x<collTrNodes.length-1;x++){
			if(x%2==1)
				collTrNodes[x].className = "one";
			else
				collTrNodes[x].className = "two";
			
			//高亮显示鼠标所在当前行
			collTrNodes[x].onmouseover = function(){
				prename = this.className;
				//alert(prename);
				this.className = "over";
			}

			collTrNodes[x].onmouseout = function(){
				this.className = prename;
			}

		}
	}
	
	//全选复选框
	function checkAll(node){
		var collMailNodes = document.getElementsByName("mail");
		for(var x=0;x<collMailNodes.length;x++){
			collMailNodes[x].checked = node.checked;
		}
	}
	
	//全选按钮
	function checkAllByBut(num){
		var collMailNodes = document.getElementsByName("mail");
		for(var x=0;x<collMailNodes.length;x++){
			if(num>1)
				collMailNodes[x].checked = !collMailNodes[x].checked;
			else
				collMailNodes[x].checked = num;
		}
		
	}

	//删除选中邮件
	function deleteMail(){
		var collMailNodes = document.getElementsByName("mail");
		for(var x=0;x<collMailNodes.length;x++){
			if(collMailNodes[x].checked){
				var oTrNode = collMailNodes[x].parentNode.parentNode;
				oTrNode.parentNode.removeChild(oTrNode);
				x--;
			}
		}
		//更新表格颜色
		trColor();
	}


	onload = function(){
		trColor();
	}
  </script>
 </head>
 <body>
 	<table id="mailtable">
		<tr>
			<th>
				<input type="checkbox" name="all" onclick="checkAll(this)"/>全选
			</th>
			<th>
				发件人
			</th>
			<th>
				邮件名称	
			</th>
			<th>
				邮件附属信息
			</th>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				依一
			</td>
			<td>
				我是邮件1
			</td>
			<td>
				邮件附属信息1
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				小二
			</td>
			<td>
				我是邮件2
			</td>
			<td>
				邮件附属信息2
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				张三
			</td>
			<td>
				我是邮件3
			</td>
			<td>
				邮件附属信息3
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				李四
			</td>
			<td>
				我是邮件4
			</td>
			<td>
				邮件附属信息4
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				王五
			</td>
			<td>
				我是邮件5
			</td>
			<td>
				邮件附属信息5
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				赵六
			</td>
			<td>
				我是邮件6
			</td>
			<td>
				邮件附属信息6
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				周七
			</td>
			<td>
				我是邮件7
			</td>
			<td>
				邮件附属信息7
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="mail" />
			</td>
			<td>
				孙八
			</td>
			<td>
				我是邮件8
			</td>
			<td>
				邮件附属信息8
			</td>
		</tr>
		<tr>
			<td>
				<input type="checkbox" name="all" onclick="checkAll(this)"/>全选
			</td>
			<td colspan="3">
				<input type="button" value="全选" onclick="checkAllByBut(1)"/>
				<input type="button" value="取消全选" onclick="checkAllByBut(0)"/>
				<input type="button" value="反选" onclick="checkAllByBut(2)"/>
				<input type="button" value="删除所选邮件" onclick="deleteMail()"/>
			</td>
		</tr>
	</table>
 </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值