原生js实现复选框
简单排版
<style>
.box {
display: flex;
align-items: center;
}
#allSelect,
p {
width: 20px;
height: 20px;
margin-top: 5px;
position: relative;
}
li {
list-style: none;
display: flex;
align-items: center;
}
span {
width: 20px;
height: 20px;
border: 1px solid #000;
display: inline-block;
}
.selectk {
position: absolute;
width: 100%;
height: 100%;
background: #000;
top: 0;
left: 0;
}
.selectk::after {
content: "✔";
display: inline-block;
text-align: center;
line-height: 20px;
color: #fff;
}
</style>
</head>
<body>
<div class="box">全选:<div id="allSelect"><span></span></div>
</div>
<ol>
<li><p><span></span></p></li>
<li><p><span></span></p></li>
<li><p><span></span></p></li>
<li><p><span></span></p></li>
<li><p><span></span></p></li>
<li><p><span></span></p></li>
<li><p><span></span></p></li>
</ol>
</body>
功能实现
<script>
var arr = [];
//获取所有的复选按钮
var ospan = document.querySelectorAll("p>span");
//获取页面的全选按钮
var checkBtn = document.querySelector("#allSelect");
//复选按钮点击时
[...ospan].forEach(function(item,index){
item.addEventListener("click",function(){
this.classList.toggle("selectk");
if(this.classList.contains("selectk")){
arr.push(index);
}else{
arr.splice(index,1);
}
if(arr.length === [...ospan].length){
checkBtn.classList.add("selectk")
}else{
checkBtn.classList.remove("selectk")
}
})
})
// 点击全选按钮
checkBtn.addEventListener("click",function(){
this.classList.toggle("selectk");
if(this.classList.contains("selectk")){
[...ospan].forEach(function(item,index){
item.classList.add("selectk")
})
}else{
[...ospan].forEach(function(item,index){
item.classList.remove("selectk")
})
}
})
</script>
效果展示


本人小白,欢迎指正!!
原生js实现复选框的更多相关文章
- 原生js获取复选框的值
obj = document.getElementsByName("dk_tj"); var longtxt = ""; for (k in obj) { ...
- html+css+js实现复选框全选与反选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- js实现复选框的全选、全不选和反选
js实现复选框的全选.全不选和反选 主要是用遍历的方法查找元素,然后通过改变checked的属性来选择,为true则是选中状态,为false则是未选状态 实现代码 <!DOCTYPE html& ...
- js input复选框选中父级同时子级也选中
js实现复选框选中父级元素子级元素也选中,没有子级元素选中父级也不选中的效果 HTML <tr> <td> <label> <input name=" ...
- js操作复选框 复选框
//复选框点击事件 function checkAll(){ let tp=$("#tp").val(); let all=$("input[name='id']&quo ...
- js实现复选框全选/全不选/反选
js实现复选框全选/全不选/反选 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- js操作复选框
js操作复选框 JavaScript 代码: //复选框全选 $(function () { $("#select_all").click(function () { $(&quo ...
- js实现复选框的全选、全不选、反选
js中实现复选框的全选,全不选以及反选,分为两种情况: (1)选中“请选择”前面的复选框实现全选,不选中“请选择”前面的复选框实现全不选 <!DOCTYPE html PUBLIC " ...
- js 判断 复选框全选、全不选、反选、必选一个
一个挺 使用的 js 代码片段, 判断 复选框全选.全不选.反选.必选一个 记录下, 搬来的 思路: 修改数据的 选中与否状态, 拿到所有的输入框,看是否有选中的状态 <html> & ...
随机推荐
- Android RecyclerView、ListView实现单选列表的优雅之路.
一 概述: 这篇文章需求来源还是比较简单的,但做的优雅仍有值得挖掘的地方. 需求来源:一个类似饿了么这种电商优惠券的选择界面: 其实就是 一个普通的列表,实现了单选功能, 效果如图: (不要怪图渣了 ...
- 23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等
来源:全球人工智能 作者:SFLYQ 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.Wec ...
- mongodb主从副本集配置
创建路径: mkdir -p /datassd/mongo_20011/{data,conf,log} 配置文件示例: #mongo.conf dbpath=/datassd/mongo/da ...
- 优动漫PAINT(clip studio paint)提示无法连接服务器
很多同学在使用优动漫PAINT进行艺术创作的时候,软件会出现无法连接服务器的提示,遇到此情况如何解决呢?目前,软件在Windows系统和Mac系统上的解决方法有别,请悉知: 1.曾使用过,或正在使用F ...
- 带你认识闻名遐迩的ZBrush
ZBrush®是一款数字雕刻和绘画软件,它以其强大的功能和直观的工作流程彻底改变了3D行业.ZBrush 4R8是目前最新版本,它秉持一贯的简洁界面风格,给如今的数字艺术工作者提供了世界领先的工具.它 ...
- javaScript 计算两个日期的天数相差
一:计算两个日期相差的天数 1 <html> <head> <meta http-equiv="Content-Type" content=" ...
- 【转】DBSCAN密度聚类算法
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-M ...
- Linux下mysql 忘记密码的解决办法
>mysql -u root -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \ ...
- Linux内核crash/Oops异常定位分析方法
在内核开发的过程中,经常会碰到内核崩溃,比如空指针异常,内存访问越界.通常我们只能靠崩溃之后打印出的异常调用栈信息来定位crash的位置和原因.总结下分析的方法和步骤. 通常oops发生之后,会在串口 ...
- 多行文本省略号样式失效丢失,以及控制台显示autoprefixer警告'Autoprefixer applies control comment to whole block, not to next rules.'
问题现象 使用webpack压缩打包vue项目,遇到一个问题,文本多行显示省略号的关键css语句-webkit-box-orient: vertical;莫名其妙丢失失效了.查阅资料,有不少人提出 ...