需求:table中要求点击红色单元格和点击checkbox的效果一样,最后一行点击就是全选、反选、取消选择的效果。
创新互联专注于灵璧网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供灵璧营销型网站建设,灵璧网站制作、灵璧网页设计、灵璧网站官网定制、微信小程序定制开发服务,打造灵璧网络公司原创品牌,更为您提供灵璧网站排名全网营销落地服务。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
table{
width: 400px;
height: 15px;
background-color: palegreen;
text-align: center;
}
.check{
width: 20%;
background-color: indianred;
}
input{
display: inline-block;
vertical-align:middle;
}
div{
display: inline-block;
width: 400px;
}
div input{
display: inline-block;
width: 20%;
}
.select{
background-color: bisque;
}
</style>
</head>
<body>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td class="check"><input class="inputcheck" type="checkbox"></td>
<td>富贵竹</td>
<td>绿萝</td>
</tr>
<tr>
<td class="check"><input class="inputcheck" type="checkbox"></td>
<td>栀子花</td>
<td>月季</td>
</tr>
<tr>
<td class="check"><input class="inputcheck" type="checkbox"></td>
<td>金银花</td>
<td>菊花</td>
</tr>
<tr>
<td class="check check4"><input class="inputcheck" type="checkbox"></td>
<td>玫瑰</td>
<td>百合</td>
</tr>
<tr class="select">
<td><input class="selectall" type="button" value="全选"> </td>
<td><input class="reserve" type="button" value="反选"> </td>
<td><input class="cancel" type="button" value="取消"> </td>
</tr>
</table>
<script>
var ele= document.getElementsByTagName("input");
var check= document.getElementsByClassName("check");
var inputcheck= document.getElementsByClassName("inputcheck");
var all = document.getElementsByClassName("selectall")[0];
var reserve = document.getElementsByClassName("reserve")[0];
var cancel = document.getElementsByClassName("cancel")[0];
//for循环闭包
for(var i=0;i<check.length;i++){
var td = check[i];
td.onclick = function () {
var td = check[i];
return function () {
var input = td.getElementsByTagName("input")[0];
if(input.checked){
input.checked = false;
}else {
input.checked = true;
}
}
}(i)
}
//for循环闭包
for(var i=0;i<inputcheck.length;i++){
var input = inputcheck[i];
input.onclick = function () {
var input = inputcheck[i];
return function () {
if(input.checked){
input.checked = false;
}else {
input.checked = true;
}
}
}(i)
}
//全选
all.onclick=function () {
for(var i=0;i<ele.length;i++){
ele[i].checked=true;
}
}
//反选
reserve.onclick=function () {
for(var i=0;i<ele.length;i++){
if(ele[i].checked){
ele[i].checked=false;
}
else {
ele[i].checked=true;
}
}
}
//取消
cancel.onclick =function () {
for(var i=0;i<ele.length;i++){
ele[i].checked=false;
}
}
</script>
</body>
</html>
文章标题:JavaScript之全选/反选/取消,for循环闭包
网站地址:https://www.cdcxhl.com/article42/ppiphc.html
成都网站建设公司_创新互联,为您提供静态网站、网站建设、App开发、面包屑导航、云服务器、品牌网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联