JS获取表格单元格坐标及给指定单元格赋值
2016-12-18 16:01
766 查看
JS获取表格单元格坐标及给指定单元格赋值
说明:本文所述内容适用于通过JS方法,获取table中td标签坐标,即td标签所在单元格的行号、列号。以及为指定的单元格赋值。(如有不正确的地方,欢迎批评指正)
1. 获取单元格坐标
var table =document.getElementById("data_table"); // 行数 var rows = table.rows.length; // 列数 var colums = table.rows[0].cells.length;
说明:
var colums = table.rows[0].cells.length;
当中,rows[0]代表获取第一行的列值,假如在表格第一行中合并了列单元格,那么获取到的最终结果会与实际列值有差异。
比如下图:
假如使用 rows[0] 那么获取到的列数应该为3.但是实际上的表格列数为5.所以想要获取到正确的列值,应该使用 rows[1] ,完整语句即:
var colums = table.rows[1].cells.length;
行数获取略有特殊,因为没有方法指定可以从第几列开始获取行数,所以假如合并了行单元格,虽然最终获取的行数数值结果是正确的,但是有可能在对指定单元格赋值过程中出现问题。
为避免这种现象发生,可以采用这种方式:
<table id="data_table"> <thead> <tr> <th>项目</th> <th>所属期间</th> <th colspan="3" style=" text-align: center; ">现金</th></tr> <tr> <th></th> <th></th> <th>业务收(退)款</th> <th>财务收(退)款</th> <th>差异</th></tr> </thead> <tbody> <tr> <td rowspan="2" style=" vertical-align: middle; ">诚意金</td> <td>本日发生额</td> <td></td> <td></td> <td></td> </tr> <tr> <td style="display: none"></td> <td>累计发生额</td> <td></td> <td></td> <td></td> </tr> </tbody> </table>
即:
被合并的行单元格,用
style=" display:none"隐藏掉。这种写法上,在给单元格赋值的时候,会比直接少写一个td减少很多问题。
2. 给指定单元格赋值
document.all("data_table").rows[tb_rowNum].cells[tb_cellNum].innerText = "data";
tb_rowNum: 指定的行号
tb_cellNum: 指定的列号
注意:
行号列号默认都是从0开始的,需要自己进行逻辑处理。
相关文章推荐
- 使用JS获取Repeater中指定单元格的内容(单元格无控件)
- JS获取表格内指定单元格html内容的方法
- js获取table中td的绝对坐标
- TextBox 禁止客户端输入 前台通过JS赋值 并在后台获取
- js中获取各种窗口的大小和鼠标坐标
- 通过JS 获取Mouse Position(鼠标坐标)的代码
- 通过JS 获取Mouse Position(鼠标坐标)的代码
- js对表格行进行操作.获取单元格的值等
- js获取控件的X绝对坐标
- 获取指定月份的天数 [c#,js]
- FCK常用Js,获取FCK内容,统计FCK字数,向FCK写入指定代码
- js中获取各种窗口的大小和鼠标坐标
- [转]js获取table中td的绝对坐标
- 【转】JS获取页面元素坐标
- JS获取鼠标的坐标和滚动条的位置
- js兼容性获取鼠标坐标
- js获取对象的绝对坐标
- TextBox 禁止客户端输入 前台通过JS赋值 并在后台获取
- JS获取网页大小和鼠标当前坐标
- js获取元素坐标