js操作表示例(个人经验)

我记得在面试前遇到这样一个问题:有一个表单,然后有4个输入框,一个合并按钮,输入框是从行到行,从一行到另一列,然后单击按钮合并。js知识知道一些东西,根本做不到!现在想想,事实上,这个问题仍然是对基本功夫的一个坚实的检验!每个人都对自己做这件事感兴趣,并测量你是否能做到这一点:
现在做起来似乎很简单,但花了我很长时间,也许这是我的错误想法,对吧它主要使用js来操纵HTML。现在我已经实现了添加行、删除行、添加列和删除列,但是合并的单元格不能完全实现,主要是因为表将被丢弃。现在把这个问题发送出去,感兴趣的同事可以在空闲时学习,看看他们是否能做!主要的问题是合并单元格,您还可以帮助我查看合并单元格的问题。

我自己代码的一部分:
HTML的一部分写道
复制代码代码如下所示:








U3000 U3000
U3000 U3000 U3000 U3000
U3000 U3000
U3000 U3000
U3000 U3000 U3000 U3000
U3000
U3000




从线到线
从列到列




生成表格,写的作用是:
复制代码代码如下所示:
函数init(){
_table = document.getelementbyid(表);
_table。边境= 1px;
_table。宽度=800px ;

对于(var i = 1;i < 10;i + +){
无功行= document.createelement(TR);
行= id i;
对于(var j=1;j<6;j + +){
VaR细胞= document.createelement(TD);
cell.id = I +/+ J;
cell.appendchild(document.createtextnode(柱+细胞。ID + ));
row.appendchild(细胞);
}
document.getelementbyid(newbody )AppendChild(行);
}
}

添加行,与方法的作用是:写
复制代码代码如下所示:
功能addRow(){
VaR的长度= document.getelementbyid(表)。Rows.length;
/ * document.getelementbyid(newbody)。InsertRow(长);
document.getelementbyid(长+ 1)。SetAttribute(ID长度+ 2);。
VaR TR = document.createelement(TR);
tr.id =长度+ 1;
VaR技术document.createelement(TD);
对于(i = 1;i < 4;i + +){
TD。ID = tr.id +/+我;
td.appendchild(document.createtextnode(柱+ TD。ID + ));
tr.appendchild(TD);

}
document.getelementbyid(newbody )AppendChild(TR);
}

另一种方式来添加行,insertRow写道
复制代码代码如下所示:
功能addrow_withinsert(){
Varrow = document.getelementbyid(表)。InsertRow(document.getelementbyid(表)。行。长度);
无功行数= document.getelementbyid(表)。Rows.length;

无功countcell = document.getelementbyid(表),Rows.item(Cells.length 0);
对于(var i = 0;i < countcell;i++){
VaR细胞= row.insertcell(我);

细胞.innerHTML =新+(行数)+/+(i + 1)+柱;
细胞。ID =(行数)+/+(i + 1);

}
}

删除行,使用deleteRow(行索引)写
复制代码代码如下所示:
/ *删除行,使用deleteRow(行索引)。
功能removerow(){
*无功行= document.getelementbyid(2 );
VaR指标= row.rowindex;
警报(索引);
document.getelementbyid(newbody)。DeleteRow(document.getelementbyid(document.getelementbyid(表)。行。长度)。开始);
}

添加列,使用insertCell(柱位置)的方法
复制代码代码如下所示:
功能addCell(){
/ * document.getelementbyid(表),Rows.item(0)。cells.length
用于获取表的列数。
* /
对于(var i = 0;i < document.getelementbyid(表)。Rows.length;i++){
VaR细胞= document.getelementbyid(表)。行{我} insertCell(2);
细胞.innerHTML =第一+(i + 1)+/+ 3 +柱;

}
}

删除列,利用deleteCell方法(列的位置)
复制代码代码如下所示:
/ *删除列,使用deleteCell(位置)的方法。
功能removecell(){
对于(var i = 0;i < document.getelementbyid(表)。Rows.length;i++){
document.getelementbyid(表)。行{我}。deleteCell(0);
}
}

合并单元格(未实现)写入
我的代码有问题,主要的是桌子会被弄乱,而且永远不会改变。
复制代码代码如下所示:
功能重建(){
无功beginrow = document.getelementbyid.value(beginrow ); / * * /起跑线
var endrow = document.getelementbyid.value(endrow ); / * * /结束线

无功begincol = document.getelementbyid.value(begincol ); / * * /开始列
无功endcol = document.getelementbyid.value(endcol ); / * * /端柱

无功tempcol = beginrow +/+ begincol; / * * /属性栏改变位置
警报(tempcol);
VaR技术document.getelementbyid(tempcol);

*删除要合并的单元格
对于(var x = beginrow;x <= endrow;x++){
对于(var i = begincol;我< = endcol;i++){
如果(X = = beginrow){

document.getelementbyid(表)。行{X}。deleteCell(i + 1);

}
别的{

document.getelementbyid(表)。行{X}。deleteCell(我);

}

}
}
TD。行=(endrow beginrow)+ 1;
}