当前位置:首页 > 日记 > 正文

js操作表元素实现表列的添加和删除

js操作表元素实现表列的添加和删除
本文介绍了用JS操作表元素添加和删除表列行列的方法,供大家参考:
/ ************ tabletool.js ******************************************************************************************************************
**************************************************************快速索引***************************************************************
表行和列删除
{一},dotablerowdelete注:根据当前的事件点的默认对象,发现TR,删除(可选:表对象;线数,删除升序方式以逗号分隔,行如2, 3, 5;通过TD几次,默认值是1)
结合天安门
{ 1 },conbaintablerow说明垂直单元格相同的内容合并到表对象,和列需要合并,(可选参数从第几行开始)。
{二},combinecell解释:水平细胞进入细胞中的一个对象,(可选参数,合并几个细胞;并保留原单元格的值)。
移动电话线和天安门
{ 1 },上说明:向上移动,(可选参数,大多数移动到第一行,默认是零线,移动线或TD对象或子对象的默许,TD线当前事件的默许默许)。
{二},向下移动解释:向下移动,(可选参数,最小移动倒排,默认是互惠的零线,需要在TD,TD移动线或对象或子对象的当前事件的默许默许线)。
{三},movecell描述:线路交换,表对象,所交换的线数
赋值方单元格样式
{ 1 },clonestyle描述:模板单元格的复制到目标单元格的样式、模板细胞,纠正细胞的风格
新的行和柱天安门
{ 1 },inserttablerow解释:添加行,表对象,添加行内容(可选参数的数组,每个细胞,合并单元格数组参数默许前行时,属性添加到行的行数是最后一行)。
{二},inserttablecol解释:添加新列,表对象,添加行内容(可选参数的数组,每个细胞,行数组参数默认属性的前列,添加到列,默认是最后一列的列数)。
获取表中的一行元素***
{ 1 },dogetrowobj说明:表中获取元素,表对象,行数,(可选参数,复制对象是否是假的,是否得到单元格对象,默认值为假)。
家宝获得其他验证和参数
{ 1 },dofetchbasecols解释说:在拿到表格,行列数的实际位置表对象、列数,返回一个数组,每一行记录指定的单元格的cellindex。
{二},dofetcheffectcells描述:得到一个细胞的集合,被插入到当前行和由RowSpan属性的影响
{三},calculatespanwidth解释:计算跨度的宽度,根据在当前跨单元格的宽度,(可选参数:对象的容器,容器对象是空的,以当前的文件,即遍历所有跨对象在页面上)。
*******************************************************************************************************************************************
*********************************************************************************************************************************************** /

*删除表的行
*
* tdcount痕迹TD对象几次根据当前事件的事件,默认为1次
*
*注意:事件事件需要附加到将删除的TD,不能有多个TD的多个嵌套;否则,您需要指定TD对象的嵌套层。
* /
功能dotablerowdelete(){
无功tablobj =论点{ 0 };
无功trindexs =论点{ 1 };
无功tdcount =论点{ 2 } = = undefined1:parseFloat(参数{ 2 });
如果(trindexs = = undefined){
tdcount = tdcount-1;
无功tdobj = event.srcelement;
无功trobj,tableobj;
而(tdcount > 0){
tdcount --;
而(tdobj.tagname!= 'td){
tdobj = tdobj.parentnode;
}
tdobj = tdobj.parentnode;
}
而(tdobj.tagname!= 'td){
tdobj = tdobj.parentnode;
}
trobj = tdobj.parentnode;
tableobj = trobj.parentnode;
如果(tableobj.tagname!= }}){
tableobj = tableobj.parentnode;
}
无功cellindex = tdobj.cellindex;
VaR开始= trobj.rowindex;
无功effectcells = dofetcheffectcells(tableobj,开始);
对于(var i = 0;i < effectcells.length;i++){
effectcells {我},{我}行= effectcells行1;
}
tableobj.deleterow(开始);
其他{ }
无功delindexarr = trindexs.split(
对于(var i = delindexarr.length-1;我> 1;我--){
tablobj.deleterow(delindexarr {我});
}
}
isdeleteflag =真;
返回isdeleteflag;
}

*删除表的列
*
* tdcount痕迹TD对象几次根据当前事件的事件,默认为1次
*
*注意:事件事件需要附加到将删除的TD,不能有多个TD的多个嵌套;否则,您需要指定TD对象的嵌套层。
* /
功能dotablecoldelete(){
无功isdeleteflag = false;
无功tdcount =论点{ 0 } = = undefined1:parseFloat(参数{ 0 });
无功tdobj = event.srcelement;
而(tdcount!= 0){
tdcount --;
而(tdobj.tagname!= 'td){
tdobj = tdobj.parentnode;
}
}
无功trobj = tdobj.parentnode;
无功tableobj = trobj.parentnode;
无功cellindex = tdobj.cellindex;
VaR开始= trobj.rowindex;
tableobj.deleterow(开始);
isdeleteflag =真;
返回isdeleteflag;
}

*根据最近的TD外部宽度的宽度重新设置当前跨度的宽度
*
* OBJ可以在网页上,一个容器对象TR,TD,和表,这项是空的,和网页上的所有跨对象遍历
* /
功能calculatespanwidth(){
var obj =论点{ 0 };
无功spanobjs;
如果(obj!=未定义的){
spanobjs = obj.getelementsbytagname('span);
其他{ }
spanobjs = document.getelementsbytagname('span);
}
对于(var i = 0;i < spanobjs.length;i++){
无功tdobj = spanobjs {我}的父节点;
而(tdobj.tagname!= 'td'typeof(tdobj)= = 'object){
tdobj = tdobj.parentnode;
}
如果(tdobj tagname = =。'td){
无功offsetwidth = tdobj.offsetwidth;
spanobjs {我}。style.width = offsetwidth-5;
}
}
}

*合并表中垂直单元格的同一项内容
*
* tableobj表对象(必须)
* combaincols需要合并列(格式:从小到大,连续使用分裂,独立的逗号;例如:1-5,7,9)
* beginrowindex开始从几行合并,由线零违约
* /
功能conbaintablerow(){
无功tableobj =论点{ 0 };
无功combaincols =论点{ 1 };
无功beginrowindex =论点{ 2 } = = undefined0:论点{ 2 };
/ /无功begincolindex =论点{ 3 } = = undefined0:论点{ 3 };
无功colsarr = combaincols.split(
var列=新的数组();
VaR指标= 0;
对于(var i = 0;i < colsarr.length;i++){
无功indexchar = colsarr {我},indexOf();
如果(indexchar!= 1){
VaR beginIndex = parseInt(colsarr {我}。substring(0,indexchar));
VaR endIndex = parseInt(colsarr {我}。substring(indexchar + 1));
对于(var j = beginIndex;J <= endIndex;j++){
因为{指数+ } = J;
}
}
别的{
因为{指数+ } = parseInt(colsarr {我});
}
}
如果(tableobj。行。长> beginrowindex){
无功modelarr =新的数组();
对于(var i = beginrowindex;i < tableobj.rows.length;i++){
无功行= tableobj行{我};
对于(VAR K = cols.length-1;K>=0;K){
var j =列{ k };
如果(modelarr { } = =定义{J}.){
modelarr { } = J排。细胞J } {;
其他{ }
如果(行。细胞{ J }。outertext = = modelarr {,}。outertext){
modelarr {,},{ }行= modelarr J行+ 1;
row.deletecell(J);
其他{ }
modelarr { } = J排。细胞J } {;
}
}
}
}
}
}

*动起来
*
* minrowindex上移的最小行数,默认情况下为零
* ELM可以默认。如果当前移动行需要与函数的位置进行比较,则需要引用TR对象本身或当前行的TD对象。
*
*回报,此举返回true,如果当前行minrowindex线返回false
* /
功能上(){
输入对象
无功minrowindex =论点{ 0 } = = undefined0:论点{ 0 };
输入对象
var =参数{ 1 };
返回值
VaR成功=假;
表对象
无功表;
如果(ELM =未定义){
榆树= event.srcelement;
}
而(elmelm.tagname!=TR){
榆树= elm.parentelement;
}
当前行号
var x = elm.rowindex;
获取表对象
elm.parentelement表=;
如果(mytable.tagname!= }}){
mytable.parentnode表=;
}
移动到前一行
如果(x > minrowindex){
movecell(mytable,X,X);
成功=真;
}
返回成功;
}

向下移动
*
* minrowindex下移到倒数的表行数,默认值为零,该表的最后一行。
* ELM可以默认。如果当前移动行需要与函数的位置进行比较,则需要引用TR对象本身或当前行的TD对象。
*
*返回,移动成功返回true,如果最后一行出现,返回false。
* /
函数向下移动(){
输入对象
无功minrowindex =论点{ 0 } = = undefined0:论点{ 0 };
输入对象
var =参数{ 1 };
返回值
VaR成功=假;
表对象
无功表;
如果(ELM =未定义){
榆树= event.srcelement;
}
而(elmelm.tagname!=TR){
榆树= elm.parentelement;
}
当前行号
var x = elm.rowindex;
获取表对象
elm.parentelement表=;
如果(mytable.tagname!= }}){
mytable.parentnode表=;
}
无功tablelength = mytable.rows.length;
/ / MoveNext
如果(x<tablelength-minrowindex-1){
movecell(mytable,x,x + 1);
成功=真;
}
返回成功;
}

*线交换,处理复选框丢失值的问题
*
* mytable表对象
*行号
*电话号码
* /
功能movecell(mytable,A,B){
VaR E2 =表{一}。行。all.tags(输入);
VaR E3 =表。行{黑}。all.tags(输入);
var arr = { };
输入行的所有输入控件
为(i = 0;i < e2.length;i++){
如果(E2 { },类型=复选框){
将所有复选框控件添加到数组中。
Arr.push(E2 {我},{我} E2。检查);
}
}
用于遍历B行的所有输入控件
为(i = 0;i < e3.length;i++){
如果(E3 { }类型=复选框){
将所有复选框控件添加到数组中。
Arr.push(E3 {我},{我} E3。检查);
}
}
MyTable.moveRow(A,B);
获取数组中的所有元素和对引用值的引用。
而(arr.length > 0){
Arr.shift()()arr.shift检查=;
}
}

*为传入单元格样式替换单元格样式
*
* tdobj模板单元格
* targettdobj换靶细胞
*
* /
功能clonestyle(){
单元格/对象
无功tdobj =论点{ 0 };
列的数目/合并
无功targettdobj =论点{ 1 };
传入的/对象克隆
无功tempobj = tdobj.clonenode(假);
目标对象的克隆
无功targethtml = targettdobj.innerhtml;
横向合并的数量
VaR targettdobj.colspan colspan =;
垂直合并的数量
VaR的行= targettdobj.rowspan;
宽度
VaR的宽度= targettdobj.width;
对象
无功rowobj = tdobj.parentnode;
替换当前单元格
rowobj.replacechild(tempobj,targettdobj);
/ /(var i = 0;i < targetobj.childnodes.length;i++){
/ / tempobj.appendchild(targetobj。子{我});
/

相关文章

简介:介绍AICS5中风调色板的使用

简介:介绍AICS5中风调色板的使用

调色板,简介,电脑软件,本教程介绍朋友AI CS5中风调色板的使用教程,比较基础,适合初学者学习,推荐,喜欢的朋友可以跟着教程学习 本教程介绍朋友AI CS5中风调色板的使用教程,非常好,值得学习,推荐学习起来! 使用新的调色板;脑卒中;可用于指定的线是实…

快乐个性签名女孩版快乐个性

快乐个性签名女孩版快乐个性

快乐,个性签名,女孩,个性,电脑软件,当你快乐的时候,我转身离开。当你不开心的时候,我随时都会出现。下面的小编辑分享快乐的个性签名,欢迎阅读: 快乐人格签名: 每个人都有自己的生活,没有人能永远陪着你。 我是那种能给人温暖,可以长久感动的人。…

Word2010中如何快速定位页面Word20

Word2010中如何快速定位页面Word20

教程,定位,快速,页面,电脑软件,微软Office Word是一个文字处理器应用程序的微软公司的办公套件的核心程序,Word提供了许多简单易用的文档创建工具,而且还提供了丰富的功能集的创建复杂的文档,甚至只用一点文本格式或图片处理使用的话可以进行…

非主流经典人格签名非主流

非主流经典人格签名非主流

非主流,人格,经典,电脑软件,爱太深,否则你得到的阴影是冷的。下面的小编辑分享非主流人格签名,欢迎阅读: 非主流人格签名: 也许你真的很牛,但你不必和我生活在一起。 我想知道我是否愚蠢到不愿意作为一个永久性的公司。 我们是最强大的。或者爱…

多情爱情人格签名感性人格签名

多情爱情人格签名感性人格签名

人格,感性,多情,爱情,电脑软件,你留在我身后的伤痕;你留下的过去被我一个人遗忘了。下面是你编译的伤感爱情的个人签名。我希望你能从中得到一些东西! 感伤爱情的个人签名: 我想在他身上印上他的名字,好像他在我身边一样。 除了城市的尽头,什么…

空间谈精彩的QQ经典空间

空间谈精彩的QQ经典空间

空间,经典,精彩,电脑软件,QQ,对不起,你可以仰望星空,看着你忘记 1,我们必须承认,我们都宁愿听信谎言,即使我们知道真相。 2、当感觉很困难的时候,告诉自己:再坚持下去,不要让你的志向与你不匹配,也辜负了曾经经历过的磨难和艰辛。 3、女人没有魅力去…

PS图象处理软件产品的宣传海报当然

PS图象处理软件产品的宣传海报当然

图象处理,软件产品,氛围,宣传海报,时尚,本教程主要使用PS图象处理软件打造时尚氛围的护肤产品,电子商务的推广海报的方法,整体效果非常漂亮,从构图到合成,推荐朋友们一起学习。 接下来,萧边向您介绍PS图象处理软件合成时尚大气的护肤产品,电商促…

情感签名非主流男孩的情感签名

情感签名非主流男孩的情感签名

情感,非主流,男孩,电脑软件,无论是男孩,还是女孩,不管是在QQ上,还是在空间里,微博、论坛、贴吧,总是给自己突出个性的个性签名,表达自己的情感、心情,这些非主流男孩的悲哀签名是在他们的日常生活中,去看看吧! 1、有些记忆挥之不去,有些记忆无法抹去…

ps如何制作搞笑QQ表情

ps如何制作搞笑QQ表情

表情,搞笑,电脑软件,ps,QQ,本教程是向朋友介绍一个PS,如何制作搞笑图片的qq表情。教程制作的QQ表情非常漂亮。建议像这样的朋友可以参考这篇文章,希望能对你有所帮助。 在生活中,有时我们可以交朋友或自己的照片来制作一个表情包来取笑大家。…

2012个经典感性签名个性签名

2012个经典感性签名个性签名

感性,个性签名,经典,电脑软件,QQ签名已经成为学生生活中不可缺少的元素,它不是90你下来的手指。一个QQ为你签名,签名够了;潮水什么的给我们一些2012个经典的情感符号,爱情就留在这里。 1。我还在等你,可是你忘了来过这里。 2,谁的寂寞盖我的中国…

2016强任性个性签名QQ经典签名

2016强任性个性签名QQ经典签名

个性签名,任性,经典,电脑软件,QQ,你的一举一动都是影响我情绪的遥控器。为你自己挑选一个有特色的QQ签名吧。小编辑在这里给你一些个人签名,希望有你喜欢的东西。 1,誓言的再美也有幻灭的一天。 2,混合着烟的颓废,胡子拉碴的气味,作为世界自得其…

经典伤感超感性人格签名

经典伤感超感性人格签名

感性,人格,伤感,经典,电脑软件,以下是所有经典伤感和超级感性人格签名的内容。如果您喜欢小编辑器的建议,请继续关注它。 分手...像匕首戳我的心。 恨自己爱的人对曾经对自己说过的人说第二次。 两人依偎着不同的侧面,大约在同一时间思考。 …