点击按钮生成新的按钮、表格,同时之前的按钮失去功能

今天做了两个小练习,还是记录一下吧

1、点击按钮生成一个按钮,点击新按钮,又生成一个按钮,同时原来的按钮失效;效果图

HTML部分久只创建了一个input,也没有用CSS样式

1 <!--产生按钮-->
2         <input type="button" id="button1" value="按钮源" onclick="Onclick()"/>

运用JS创建按钮,本来是想用removeAttribute移除属性,但只有按钮源失去了产生按钮的功能,所以投机取巧,设置setAttribute("disabled",‘disabled‘)将点击过得按钮禁用,达到失去产生按钮的功能;

今天看视频的发现可以设置点击时间为NULL,所以更新一下,效果图:

这样就可以达到预先设想的效果了

 1 var j=0;
 2 function Onclick(){
 3     j++;
 4     var body=document.getElementsByTagName(‘body‘).item(0);
 5     var buttonNum=document.createElement(‘input‘);
 6     body.appendChild(buttonNum);
 7     buttonNum.onclick=Onclick;//获得点击事件
 8     buttonNum.setAttribute(‘type‘,‘button‘);//添加属性
 9     buttonNum.style.marginLeft=‘5px‘
10     buttonNum.value=‘按钮‘+j;
11     //document.getElementsByTagName(‘input‘).item(j-1).removeAttribute("onclick");//移除属性
12     //document.getElementsByTagName(‘input‘).item(j-1).setAttribute("disabled",‘disabled‘);//禁用    document.getElementsByTagName(‘input‘).item(j-1).onclick=null;//设置点击时间为NULL
13 }    

2、输入行数、列数,点击按钮生成表格(第一次接触insertRow();insertCell())

同样也没有CSS样式,可以通过JS添加

1 <lable>输入行数:</lable><input type="text" name="" id="" value="" /><br />
2         <lable>输入列数:</lable><input type="text" name="" id="" value="" /><br />
3         <button onclick="creTable()">产生表格</button><br />

 1 function creTable(){
 2     var body=document.getElementsByTagName(‘body‘).item(0);
 3     var col=document.getElementsByTagName(‘input‘).item(0).value;
 4     var row=document.getElementsByTagName(‘input‘).item(1).value;
 5     var Table=document.createElement(‘table‘);
 6     body.appendChild(Table);
 7     Table.id=‘mytable‘;
 8     Table.border=2;
 9     Table.style.width=‘400px‘;
10     Table.style.height=‘100px‘;
11     for (var j=0;j<col;j++) {
12     var     Tr=Table.insertRow(j);//Table.insertRow()向Table中插入一行,j为表中的行数,新行插入表尾;
13         for (var i=0;i<row;i++) {
14             var    Td=Tr.insertCell(i);//Tr.insertCell()向tr中插入单元格,i为表中的列数;trObject.insertCell(index),把它插入行中指定的位置。
15             Td.innerHTML=‘date‘;    //新单元格将被插入当前位于 index 指定行的单元格之前。如果 index 等于行中的单元格数,则新单元格被附加在行的末尾。
16             Td.style.backgroundColor=‘red‘
17         }
18     }
19 }

需要注意的是产生的单元格Td要依赖于Tr,写的时候没注意,将Td依赖于Table了,弄了好久没有出现效果,,一直提示insertCell(i)不是函数,后来才发现是这个原因;

效果图:

时间: 2024-12-16 21:16:30

点击按钮生成新的按钮、表格,同时之前的按钮失去功能的相关文章

百度地图覆盖物多边形拖动,点击,生成新的覆盖物

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">

点击不同按钮生成不同窗体到某个panel上面,类似Frame用法--不错

//点击不同按钮生成不同页面加载到某个panel上面.procedure TMainForm.DemoButtonClick(Sender: TObject); var NewDemoClass: TFormClass; // TFormClass = class of TForm; 涉及到类的类 知识点: NewDemoClass表示为窗体类的类,有待考证 NewDemo: TForm; begin case (Sender as TSpeedButton).Tag of 0: NewDemo

Silverlight项目笔记5:Oracle归档模式引起的异常&amp;&amp;表格控件绑定按钮

两个问题: (1)Oracle无法连接正常使用,原因是归档日志满了引起异常,最后选择删除归档日志恢复正常. (2)使用silverlight自带的表格绑定按钮竟然无法使用,通过变通绑定数据源集合,把按钮操作作为数据源集合一部分,重新绑定解决. 一.Oracle归档模式产生日志文件引起数据库异常 连接数据库失败,提示监听错误,各种检查监听配置文件,删除再添加监听,无果. sqlplus下重启数据库数据库依然无果,期间碰到多个错误提示: ORA-01034: ORACLE not available

监听当点击微信等app的返回按钮或者浏览器的上一页或后退按钮的事件

在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的 需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包等app的返回按钮或者浏览器的上一页或后退按钮的事件呢. 首先我们要了解浏览器的history.大家知道在页面中我们可以使用JavaScript window history,后退到前面页面,但是由于安全原因javascript不允许修改 history里已有的url链接,但可以使用pushStat

for for in 给已有的li绑定click事件生成新的li也有click事件

想要给已有的li元素绑定一个click事件,点击生成新的li元素,并且新的li元素也要有click事件 //不能用for循环给每个li绑定click事件 因为这样的话 后面新生成的li就没有click事件 //即使用下面的获取dom元素方法 具有实时性 也不能给新生成的li绑定clcik事件   这两个方法是 实时的 HTMLCollection 不能直接forEach循环let ali1 = oul.getElementsByClassName('li') let ali2 = oul.get

使用ajax后提交事件后禁用按钮,事件执行完毕后,重新启用按钮

一直想做这样的效果,实现的方法虽然不是很好,但效果还是出来了 <script runat="server"> /// <summary> /// 当Button2被点击,实际是Button3触发事件,这样就可以达到提交事件时禁用被提交的按钮效果 /// </summary> protected void Button_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(5

[转]轻松搞定权限设计1-页面按钮控制(精确到某个用户和某个按钮)

每个系统都离不开权限控制,这里来说说页面上控制到按钮的思路,仅提供思路: 使用 角色 + 资源(菜单和菜单对应页面上的按钮)+ 授权的方式. 1  定义角色与用户: 假定这里我们只控制到角色这一层次,一个用户一个角色,设计如下: 角色表: role(role_id, role_name) 用户表: user(user_id, username, role_id),其中role_id是角色表的外键. 2  定义资源 这里假定把菜单.按钮都看成是一种资源,一个菜单上面有多个按钮. 菜单表: menu

C#读取Word模板替换相应的字符串(标签)生成新的Word

在平常工作中,生成word的方式主要是C#读取html的模板文件处理之后保存为.doc文件,这样的好处是方便,快捷,能满足大部分的需求.不过有些特殊的需求并不能满足,如要生成的Word为一个表格,只是一部分字符串需要变化,用上面的方法生成Word表格容易变形.如果我们能读取一个word模板,把模板里定义的固定字符串如{标记1}替换为想要的文字,然后生成新的word.这样生成的Word非常整洁. 查找了网上许多方法,虽然都是调用office的接口,并没有一个好的方案.通过自己的实验,比较,使用Mi

使用Git Bash生成新的ssh key

使用Git Bash生成新的ssh key. $ cd ~  ///保证当前路径在"~"下 $ ssh-keygen -t rsa -C "你的邮箱地址"  ///建议填写自己真实有效的邮箱地址 结果: Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa):   ///不填直接回车 Enter passphrase (empty for no passphrase):   ///输入密