多个选择框,三个按钮,显示:全选、反选、不选

html部分,建立五个多选框,三个按钮

<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<button onClick="quan()">全选</button>//全选按钮
<button onClick="fan()">反选</button>//反选按钮
<button onClick="bu()">不选</button>//不选按钮

显示结果:

表单中的多选按钮:

<input type="checkbox"  checked> 内容

checked 属性是一个布尔属性,默认选中,默认返回值为true.,选中为true,不选中为false.

var inputdom = [];//多选框
window.onload = function () {
inputdom = document.getElementsByTagName("input");//获取多选框
}
/*功能:全部选中*/
function quan() {
for (var i = 0; i < inputdom.length; ++i) {
inputdom[i].checked = true;
}
}
/*功能:反向选择*/
function fan() {
for (var i = 0; i < inputdom.length; ++i) {
console.log(inputdom.length)
if (inputdom[i].checked == true) {
inputdom[i].checked = false;
} else {
inputdom[i].checked = true;
}
}
}
/*功能:全部不选*/
function bu() {
for (var i = 0; i < inputdom.length; ++i) {
inputdom[i].checked = false;
}
}

2、表格添加行、删除行、隔行变色、移入变色

html中新建表头

姓名:<input id="mingzi" type="text" placeholder="必填">
年龄:<input id="age" type="text" placeholder="必填">
<button onClick="add()">添加一行</button>//添加按钮
<button onClick="color()">隔行变色</button>
<button onClick="yrbs()">移入变色</button>
<table width="1000" border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>操作</th>
</tr>
</table>

显示结果:

js中内容,建立三个方法,添加一行、隔行变色、移入变色

var tab=null;//获取表格
var tr_push=[];//添加行
var td_push=[];//添加单元格
var namedom=null;
var agedom=null;
window.onload = function () {
tab=document.getElementsByTagName("table")[];//获取表格
tr=document.getElementsByTagName("tr");
th=document.getElementsByTagName("th");
namedom=document.getElementById("mingzi");
agedom=document.getElementById("age");
}
/*功能:添加行*/
function add(){
tr_push = document.createElement("tr");//创建<tr>标签
for (var i = ; i < th.length; ++i) {
if (i == ) {
td_push = document.createElement("td");
td_push.innerHTML = tr.length;
//第一列的内容ID,排序,为tr的长度
}
if (i == ) {
td_push = document.createElement("td");
td_push.innerHTML = namedom.value;
//第二列的内容姓名,为提取姓名框的内容
}
if (i == ) {
td_push = document.createElement("td");
td_push.innerHTML = agedom.value;
//第二列的内容姓名,为提取年龄框的内容
}
if (i == ) {
td_push = document.createElement("td");
td_push.innerHTML = "<button onClick='shan(this)'>删除</button>";
//将一个button标签作为i=3的内容
//点击时,调用方法删除
}
tr_push.appendChild(td_push);
}
tab.appendChild(tr_push);
}
/*功能:删除行*/
function shan(obj) {
obj.parentNode.parentNode.remove();
//移除button所在标签的父标签的父标签(tr) }
/*功能:隔行变色*/
function color(){
for(var i = ; i < tr.length; i=i+)
//隔行变色,所以 i=i+2
tr[i].style.background = "red";
//给tr添加样式background
}
/*鼠标移入变色 移出变回原色*/
function yrbs(){
for(var i =;i<tr.length;i++){
tr[i].setAttribute('onMouseOver','cl(this,"")');
//鼠标放上时,调用方法cl()
tr[i].setAttribute('onMouseOut','cl(this,"out")');
//鼠标移开时,调用方法cl() ,加参数"out"
}
} function cl(obj,type){
//定义this=obj,实参type
for(var i =;i<tr.length;++i){
tr[i].style.backgroundColor = "white";
//先把所有的定义为白色
}
if(type != "out"){
//当type不等于out时,该行变绿色
obj.style.backgroundColor = "green";
}
}

DOM练习 选择框、表格添加、变色的更多相关文章

  1. DOM给表格添加新一行和删除整个行的内容

    DOM用appendChild()给表格添加新一行时,要注意,在HTML中没特别设置<thead>,<tbody>时,会自动添加上,所以要选择表格第一个元素在添加tr. // ...

  2. 原生js实现一个自定义下拉单选选择框

    浏览器自带的原生下拉框不太美观,而且各个浏览器表现也不一致,UI一般给的下拉框也是和原生的下拉框差别比较大的,这就需要自己写一个基本功能的下拉菜单/下拉选择框了.最近,把项目中用到的下拉框组件重新封装 ...

  3. Javascript DOM 03 表格添加、删除 + 搜索

    获取 tBodies.tHead.tFoot.rows.cells   隔行变色 鼠标移入高亮   添加.删除一行 DOM方法的使用                                   ...

  4. 415 DOM 查找列表框、下拉菜单控件、对表格元素/表单控件进行增删改操作、创建元素并且复制节点与删除、 对表格操作、通用性和标准的事件监听方法(点击后弹窗效果以及去掉效果)

    DOM访问列表框.下拉菜单的常用属性: form.length.options.selectedindex.type       使用options[index]返回具体选项所对应的常用属性:defa ...

  5. dojo:如何为表格添加从数据库获得存储的下拉框

    为表格添加下拉框的例子官网上就有,但如果下拉框的数据是从数据库请求的.需要有一些注意的地方. 首先希望实现的效果如下图所示: 表格初始数据为空,点击查询后获得表格表格数据,但下拉框的数据是在对应的fo ...

  6. ElementUI表格行编辑单元格编辑支持(输入框,选择框)Demo

    嗯,需要做成这个样子,所以网上查了些资料.整理了下.提供几个一个思路.不足之处请小伙伴指出来.  普通版的table可编辑内嵌select选择框,输出框,编辑删除添加等 <!DOCTYPE ht ...

  7. bootstrap表格添加按钮、模态框实现

    bootstrap表格添加按钮.模态框实现 原创 2017年07月20日 17:35:48 标签: bootstrap 1723 bootstrap表格添加按钮.模态框实现 - 需求: 需要表格后面每 ...

  8. ElementUI el-table 表格 行选择框改为单选

    实现方法 首先,表格加一列 <el-table-column type="selection" width="55"></el-table-c ...

  9. JavaScript DOM方法表格添加删除

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

随机推荐

  1. html+css快速入门教程(2)

    3 标签 3.1 div div 标签表示一个区块或者区域,你可以把它看成是一个容器,比如说一个 竹篮 作用:用来把网页分块 并且里面可以装任意的html元素 <div>这里是一个div容 ...

  2. 双缓冲显示字幕(卡拉ok字幕)

    思路: 1.设置定时器SetTime,在Ontime()里面确定显示矩形的大小,让后用DrawText把字铁道矩形上面: 2. int nTextHei = dc.GetTextExtent( m_s ...

  3. Jquery中$(document).ready()

    window.onload = function(){ alert("welcome"); } 语句的作用是希望在页面加载完,自动执行定义js代码(function). $(doc ...

  4. 七.数据分页原理,paginator与page对象

    1.分页: Paginator对象 Page对象 2.Paginator: class Paginator(object_list, per_page, orphans=0, allow_empty_ ...

  5. C#操作SharePoint文档库文档

    using (Stream file = spFile.OpenBinaryStream()) { //其余代码 }

  6. 生日聚会Party——这个线性dp有点嚣张

    题目描述 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party. hidadz带着朋友们来到花园中,打算 坐成一排玩游戏.为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续 ...

  7. Java 项目创建 -- 统一结果处理、统一异常处理、统一日志处理

    一.IDEA 插件使用 1.说明 此处使用 SpringBoot 2.2.6 .JDK 1.8 .mysql 8.0.18 作为演示. 使用 IDEA 作为开发工具. 2.IDEA 插件 -- Lom ...

  8. day81 初识drf

    目录 一.web应用模式 二.API接口 1 rpc(远程过程调用/远程服务调用) 2 restful(资源状态转换) 三.RESTful API规范 四.序列化 五.Django Rest_Fram ...

  9. LeetCode 82,考察你的基本功,在有序链表中删除重复元素II

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第51篇文章,我们来看LeetCode第82题,删除有序链表中的重复元素II(Remove Duplicates ...

  10. 使用Python进行自动化测试

    目前大家对Python都有一个共识,就是他对测试非常有用,自动化测试里Python用途也很广,但是Python到底怎么进行自动化测试呢?今天就简单的向大家介绍一下怎么使用Python进行自动化测试,本 ...