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> ...
随机推荐
- Python 3.10 版本采纳了首个 PEP,中文翻译即将推出
现在距离 Python 3.9.0 的最终版本还有 3 个月,官方公布的时间线是: 3.9.0 beta 4: Monday, 2020-06-29 3.9.0 beta 5: Monday, 202 ...
- node:semantic version instruction
[major].[minor].[patch] MAJOR version when you make incompatible API changes, MINOR version when you ...
- 记录下 rhel 7 安装MySQL 并重置root密码
注意官方是很不提倡用root的. 下载并安装MySQL 最新的rpm地址 https://dev.mysql.com/downloads/repo/yum/ #wget https://repo.my ...
- Oracle 11gR2 待定的统计信息(Pending Statistic)
Oracle 11gR2 待定的统计信息(Pending Statistic) 官档最权威: 发布优化器统计信息的用户界面 管理已发布和待处理的统计信息 实验先拖着.
- git bash中提示 bash:node: command not found
昨天小伙伴私信,git bash以及windows 的cmd命令行下均无法运行node npm. 究其原因是环境变量的问题.解决步骤: 1>在"此电脑"中右击,选择" ...
- like's photos
wallhaven官网
- 0ctf_2016 _Web_unserialize
0x01 拿到题目第一件事是进行目录扫描,看看都有哪些目录,结果如下: 不少,首先有源码,我们直接下载下来,因为有源码去分析比什么都没有更容易分析出漏洞所在. 通过这个知道,它一共有这么几个页面,首页 ...
- mysql修改密码的三种方式
- 解决for循环里获取到的索引是最后一个的问题
方法一 原理: 利用 setTimeout 函数的第三个参数,会作为回调函数的第一个参数传入 利用 bind 函数部分执行的特性 代码 1: for (var i = 0; i < 10; i+ ...
- python 读取指定文件夹中的指定文件类型的文件名
import numpy as np import os path = 'F:\\wenjian'#指定文件所在路径 filetype ='.csv'#指定文件类型 def get_filename( ...