DOM练习 选择框、表格添加、变色
多个选择框,三个按钮,显示:全选、反选、不选
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练习 选择框、表格添加、变色的更多相关文章
- DOM给表格添加新一行和删除整个行的内容
DOM用appendChild()给表格添加新一行时,要注意,在HTML中没特别设置<thead>,<tbody>时,会自动添加上,所以要选择表格第一个元素在添加tr. // ...
- 原生js实现一个自定义下拉单选选择框
浏览器自带的原生下拉框不太美观,而且各个浏览器表现也不一致,UI一般给的下拉框也是和原生的下拉框差别比较大的,这就需要自己写一个基本功能的下拉菜单/下拉选择框了.最近,把项目中用到的下拉框组件重新封装 ...
- Javascript DOM 03 表格添加、删除 + 搜索
获取 tBodies.tHead.tFoot.rows.cells 隔行变色 鼠标移入高亮 添加.删除一行 DOM方法的使用 ...
- 415 DOM 查找列表框、下拉菜单控件、对表格元素/表单控件进行增删改操作、创建元素并且复制节点与删除、 对表格操作、通用性和标准的事件监听方法(点击后弹窗效果以及去掉效果)
DOM访问列表框.下拉菜单的常用属性: form.length.options.selectedindex.type 使用options[index]返回具体选项所对应的常用属性:defa ...
- dojo:如何为表格添加从数据库获得存储的下拉框
为表格添加下拉框的例子官网上就有,但如果下拉框的数据是从数据库请求的.需要有一些注意的地方. 首先希望实现的效果如下图所示: 表格初始数据为空,点击查询后获得表格表格数据,但下拉框的数据是在对应的fo ...
- ElementUI表格行编辑单元格编辑支持(输入框,选择框)Demo
嗯,需要做成这个样子,所以网上查了些资料.整理了下.提供几个一个思路.不足之处请小伙伴指出来. 普通版的table可编辑内嵌select选择框,输出框,编辑删除添加等 <!DOCTYPE ht ...
- bootstrap表格添加按钮、模态框实现
bootstrap表格添加按钮.模态框实现 原创 2017年07月20日 17:35:48 标签: bootstrap 1723 bootstrap表格添加按钮.模态框实现 - 需求: 需要表格后面每 ...
- ElementUI el-table 表格 行选择框改为单选
实现方法 首先,表格加一列 <el-table-column type="selection" width="55"></el-table-c ...
- JavaScript DOM方法表格添加删除
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
随机推荐
- 读取和写入blob类型数据
读写oracle blob类型 http://zyw090111.iteye.com/blog/607869 http://blog.csdn.net/jeryjeryjery/article/de ...
- .netcore开发环境和服务器注意事项
对于开发环境,如果你需要使用.netcore命令的话,你需要安装SDK:如果你还需要运行.netcore的网站的话,你必须还要安装它的[runtime]和[hosting server]: 对于服务器 ...
- ADAS感知开发问题
ADAS感知开发问题 1. 雨天相机 问题:雨天相机目标识别不稳.出现目标时断时续的情况 对策: 增加单雷达生成功能.当单雷达目标置信度高时直接由雷达生成目标. 2. 相机震动目标位置突变 问题 :相 ...
- 【python爬虫实战】使用Selenium webdriver采集山东招考数据
目录 1.目标 2.Selenium webdriver说明 2.1 为什么使用webdriver 2.2 webdriver支持浏览器 2.3 配置与使用说明 3.采集 3.1 分析网站 3.2 遍 ...
- 从浏览器地址栏输入url到显示页面的步骤(以HTTP为例)
在浏览器地址栏输入URL 浏览器查看缓存,如果请求资源在缓存中并且新鲜,跳转到转码步骤 如果资源未缓存,发起新请求 如果已缓存,检验是否足够新鲜,足够新鲜直接提供给客户端,否则与服务器进行验证. 检验 ...
- Flv.js文档使用随记
关键字:Flv.js | Flv js | Flv-js | HTML5 FLV Player | 0x001: 前言以下涉及到 flv.js 所有内容均是V1.5.0版本内的,如方法.属性.常量.监 ...
- angular入门--filter搜索
首先,列表绑定忽略 先上代码 <html ng-app="app1"> <head> <meta charset='utf-8' /> < ...
- 「疫期集训day5」火焰
我们就像一把穿刺敌人的利刃,把敌人开肠破肚----凡尔登高地前气势汹汹的德军 今天没有考试,挺好,有时间自己做题了 今天主要复习+学习了数据结构,列了个表: 已完成:单调队列,线段树,set/vect ...
- day15 作业
day15 作业 目录 day15 作业 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第一题 ===================题目一=================== input ...
- python中可变类型和不可变类型
1.python中的可变类型和不可变类型 python中的数据类型大致可分为6类:1.Number(数字) 2. String(字符串) 3. Tuple (元组) 4. List(列表) 5. Di ...