关键词1
关键词101
关键词201
关键词301
关键词401
关键词501
关键词601
关键词701
关键词801
关键词901
关键词1001
关键词1101
关键词1201
关键词1301
关键词1401
关键词1501
关键词1601
关键词1701
关键词1801
关键词1901
懂视1
懂视101
懂视201
懂视301
懂视401
懂视501
懂视601
懂视701
懂视801
懂视901
懂视1001
懂视1101
懂视1201
懂视1301
懂视1401
懂视1501
懂视1601
懂视1701
懂视1801
懂视1901
文库1
文库101
文库201
文库301
文库401
文库501
文库601
文库701
文库801
文库901
文库1001
文库1101
文库1201
文库1301
文库1401
文库1501
文库1601
文库1701
文库1801
文库1901
派纯情感
全部频道
首页
科技
教育
生活
旅游
时尚
美容
美食
健康
体育
游戏
汽车
家电
您的当前位置:
首页
JavaScripttalbe表中指定位置插入一行的实现代码脚本之家修正版_javascript技巧
JavaScripttalbe表中指定位置插入一行的实现代码脚本之家修正版_javascript技巧
来源:派纯情感
最近在学JavaScript,下面是我自己做的一个例子(在w3cschool例子的基础上)
该例子实现功能是在鼠标点击的行之后插入一行,默认是在第一行插入。插入的内容可以自己输入,代码如下
//global var var pos =0 //to find the position you mouse has pressed function whichElement(e) { var targ if (!e) var e = window.event if (e.target) targ = e.target else if (e.srcElement) targ = e.srcElement if (targ.nodeType == 3) // defeat Safari bug targ = targ.parentNode if(targ.tagName=="TD"){//to adjust whether the element is tabledata pos = targ.parentNode.rowIndex+1 } else if(targ.tagName=="INPUT"){ //to do nothing } else{ pos =0 } //alert(pos) } //to insert a row in the place function insRow() { //alert(pos) var x=document.getElementById('myTable').insertRow(pos) var y=x.insertCell(0) var z=x.insertCell(1) y.innerHTML=document.getElementById("cell1").value z.innerHTML=document.getElementById("cell2").value } script>
Row1 cell1
Row1 cell2
Row2 cell1
Row2 cell2
Row3 cell1
Row3 cell2
Cell1:
Cell2:
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
上面的是内容,默认是插入到开始位置。
这里需要注意的是当鼠标点击插入行按钮时,动作也会捕捉到并改变全局变量,一开始我没有意识到,即没有加入上面的红色代码,所以每次点击插入行时都是在第一行插入,原来按原设计,点击按钮时全局变量更改为0,所以只能在第一行添加了。
简单的解决方法是加入红色代码,这是即可避免刚才的问题。
以上只是学习过程中的小经历,可以以此为模版,比如删除指定的行,或在指定行之前插入等功能皆可完成。
继续学习JavaScript,继续交流。
显示全文