JS对表单中的style的操作,包括复选框技术

废话不多说直接上文件代码!!!

功能:全选\反选,鼠标监测变颜色

<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<table border="1" width="900px" align="center">
<tr align="center" >
<th ><input type="checkbox" id="selAll"/>全选/全不选</th>
<th >序号</th>
<th >分类名称</th>
<th >分类描述</th>
<th >操作</th>
</tr>
<tr>
<td ><input type="checkbox" name="cname"/></td>
<td >1</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td>
</tr> <tr>
<td ><input type="checkbox" name="cname"/></td>
<td >2</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr>
<td ><input type="checkbox" name="cname"/></td>
<td >3</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr id>
<td ><input type="checkbox" name="cname"/></td>
<td >4</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr >
<td ><input type="checkbox" name="cname"/></td>
<td >5</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr >
<td ><input type="checkbox" name="cname"/></td>
<td >6</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr>
</table>
</body>
<script type="text/javascript">
var color = "";
/*加载所有页面*/
window.onload = function(){
var trs = document.getElementsByTagName("tr")
for(var i = 0; i < trs.length ; i++){
if(i % 2){
trs[i].style.backgroundColor = "darkgrey";
}
}
for(var i = 0; i < trs.length;i++){
trs[i].onmouseover = function(){
color = this.style.backgroundColor;
this.style.backgroundColor = "green";
/*trs[i].style.backgroundColor = "darkslateblue";*/
}
trs[i].onmouseout = function(){
this.style.backgroundColor = color;
}
} /*为selAll复选框绑定点击事件*/
var selAllObj = document.getElementById("selAll");
selAllObj.onclick = function() {
//判断selAll复选框选中状态
if(this.checked) {
//如果当前的复选框是处于不选中状态,获取到所有非selAll复选框,返回数组,遍历数组为数组中的每个复选框设置checked=true //通过各个表单组件的class属性的值来获取一组表单组件
//document.getElementsByClassName("");
//通过各个表单组件的name属性的值来获取一组表单组件
var checkboxes = document.getElementsByName("cname");
for(var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = true;
} } else {
//如果当前的复选框是处于选中状态,获取到所有非selAll复选框,返回数组,遍历数组为数组中的每个复选框设置checked=false
var checkboxes = document.getElementsByName("cname");
for(var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = false;
}
} } //为所有的name为cname的复选框绑定点击事件
var checkboxes = document.getElementsByName("cname");
//所有的name为cname的复选框个数
var allLength=checkboxes.length;
//存放选中的复选框个数
var length02=0;
for(var i=0;i<checkboxes.length;i++){
checkboxes[i].onclick=function(){
if(this.checked){
length02++;
}else{
length02--;
}
console.log(allLength);
console.log(length02);
if(allLength==length02){
document.getElementById("selAll").checked=true;
}else{
document.getElementById("selAll").checked=false;
}
}
}
}
</script>
</html>

效果图:

JS对表单的操作的更多相关文章

  1. JavaScript学习笔记——对表单的操作

    javascript-对表单的操作实例讲解 <form name="myform" id="form1" action="" meth ...

  2. jQuery对表单的操作

    表单应用 一个表单有3个基本组成部分: 表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器的方法 表单域:包含文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上 ...

  3. js对表单设置了readonly和disabled后的区别

    Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: 1)Readonly只针对input(text / pa ...

  4. 5.1 《锋利的jQuery》jQuery对表单的操作

    获取焦点和失去焦点改变样式 改变文本框/滚动条高度 复选框应用 下拉框应用 表单验证 tip1: 注意使用<label>的for标签,对应input的id.(for 属性规定 label ...

  5. ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作

    ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作 .操作成功后刷新父页面 $this->assign('jumpUrl', "javascript:wi ...

  6. js 节点 document html css 表单节点操作

    js 节点 document html css 表单节点操作 节点操作:访问.属性.创建 (1)节点的访问:firstChild.lastChild.childNodes.parentChild(父子 ...

  7. jQuery(6)——jQuery对表单、表格的操作及更多应用

    jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...

  8. jQuery 对表单、表格的操作及更多应用-简略笔记

    [jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...

  9. (十)jQuery对表单、表格的操作

    一.表单应用 1.HTML中的表单大致由三部分组成 (1).表单标签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...

随机推荐

  1. Python学习之路day3-函数

    一.函数基础 编程方法典型的编程方法有面向过程.面向对象和函数式编程.面向过程是把编程的重点放在实现过程上,分析出结局问题所需的步骤过程,然后通过语句来一一定义实现.面向对象是把构成问题的事务分界成若 ...

  2. 单链表输出倒数第k个结点值(栈实现)

    思路1:定义两个指针变量p和q,初始时均指向头节点的下一个节点(链表的第一个节点),p指针沿链表移动: 当p指针移动到第k个节点时,q指针开始与p指针同步移动, 当p指针移动到最后一个节点时,q指针所 ...

  3. IE9 placeholder 不兼容的解决

    坑爹的IE9-,真的是够够的了,不过公司不要求兼容这个玩意了,自己觉得兼容这个鬼还是挺有挑战性的,自己也碰到不少难题,一个个解决. css: .placeholderColor { color : # ...

  4. Aixs2发布webservice服务

    http://www.blogjava.net/pzxsheng/archive/2012/12/21/393319.html 开发前准备:    1.Eclipse Java EE IDE(Juno ...

  5. net Core 2.1新功能Generic Host(通用主机)

    net Core 2.1新功能Generic Host(通用主机) http://doc.okbase.net/CoderAyu/archive/301859.html 什么是Generic Host ...

  6. Storm的并行度、Grouping策略以及消息可靠处理机制简介

    转自:https://my.oschina.net/zc741520/blog/409949 概念: Workers (JVMs): 在一个节点上可以运行一个或多个独立的JVM 进程.一个Topolo ...

  7. LeetCode Longest Continuous Increasing Subsequence

    原题链接在这里:https://leetcode.com/problems/longest-continuous-increasing-subsequence/description/ 题目: Giv ...

  8. hadoop-hive学习笔记

    create table hive_1(id string,name string ,gender string)row format delimited fields terminated by ' ...

  9. YII1.1分页

    一.控制器 $criteria = new CDbCriteria(); //这里可以加一些条件 $criteria->addCondition('parent_id='.$this->c ...

  10. windows10环境下运行Debug

    1. 什么是Debug? Debug是DOS.Windows都提供的实模式(8086方式)程序的调试工具. 使用它,可以查看CPU各种寄存器中的内容.内存的情况和在机器码级别跟踪程序的运行. 2. 常 ...