JavaScript动态创建元素(老帖新发)
前言:
工作中遇到一个项目需要在客户端动态创建表格,在表格里动态创建输入框,提供给用户输入,总结出两种方法,记录于下,以供翻阅……
1.首先我需要创建一个Table用来盛放TR,
1 2 3 | var tab = document.createElement( "TABLE" ); //创建一个Table对象 tab.style.border= "solid 1px gray" ; //Table边框属性设置 tab.style.width= "200px" ; //Table宽度为200px |
2.然后需要在Table里面创建TR用来盛放TD,这里有两种方法,一种是使用和上面创建Table相同的方法,但是需要先为Table创建TBODY,否则TR无法显示(心中的痛啊);另外一种是
使用Table对象的自带方法创建,这种比较简单,也比较容易理解,废话不说,先写代码。
type a:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var tboy = document.createElement( "TBODY" ); //创建tbody var tr = document.createElement( "tr" ); //创建tr var tdText = document.createElement( "td" ); //创建一个td,用来显示说明文字 var tdInput = document.createElement( "td" ); //创建一个td,用来盛放后面需要的文本框 tdText.innerHTML= "姓名:" ; //td内容 tr.appendChild(tdText); //添加td到tr里面 tr.appendChild(tdInput); //添加td到tr里面 tboy.appendChild(tr); //添加tr到tbody里面 tab.appendChild(tboy); //添加tbody到table里面 //注意,使用此种方法,需要先把所有的子对象(例如td)里面需要放的先放上,否则,执行tr.appendChild(tdText);之后再对该td所做的操作都无效…… type b: var row=tab.insertRow(0); //在位置0处插入一行 var tdText=x.insertCell(0); //在位置0处插入一个td var tdInput=x.insertCell(1); //在位置1处插入一个td tdText.innerHTML= "姓名:" ; |
明显第二种方法更简单明了,不过在下还是使用的第一种(俺不太喜欢使用索引……)……
3.创建一个Input text 放到tdInput里面,基本上就算完成了……
1 2 3 4 5 | var box = document.createElement( "input" ); box.setAttribute( "type" , "text" ); //关键代码,设置属性type 值为 text box.setAttribute( "size" , "18" ); //设置size属性 box.setAttribute( "id" , "txtName" ); //设置Id属性 tdInput.appendChild(box); //文本框添加到td元素中 |
o la……
代码有些散乱,唉,没有高手的能力啊……
懒惰,是一个通病。
努力,必会成为一种习惯。
分类:
勤而时习之,意淫之天道
标签:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库