`
xwood
  • 浏览: 103059 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

js Table 操作

IE 
阅读更多
在DOM中,Table的行、列、单元格都是以数组方式进行存储和访问的。所以,对Table的操作其实也就是对DOM数组的操作。

1.Table操作
  /* 创建: */
  document.createElement("TABLE");
  /* 删除: */
  box.parentNode.removeChild(box);//获取父节点再删除
  box.removeNode(true);//直接删除

  /* 部分属性修改 */
  obj.setAttribute("id", id);//此方法在IE中对cellSpacing, cellsPadding不兼容
  obj.cellSpacing = 1;
  obj.cellsPadding = 2;
  obj.className = "packageData";

2.行操作
 
/* 插入: */
  row = t.insertRow(num);
  /* 删除: */
  t.deleteRow(num);
  /* 获取当前行号 */
  num = tr.rowIndex;

3.列操作
 
/* 插入: */
  cell = tr.insertCell(num);
  /* 删除: */
  tr.deleteCell(num);
  /* 获取当前行号 */
  num = td.cellIndex ;

4.示例代码
 
/* 添加行 */
  function doAddRow(tableid){
	var t = document.getElementById(tableid);
	var rows = t.rows;
	var num = rows.length;
	var row = t.insertRow(num);
	var trid = tableid + "_tr_" + num;
	row.setAttribute("id", trid);
	//alert(tableid + "_tr_" + num);
	row.className = "td_list_background";
	var cell = row.insertCell(0);
	cell.innerHTML = num;
	
	cell = row.insertCell(1);
	cell.className = "dcontent";
	cell.innerHTML = '<input type="text" name="data_content"/><img src="<%=request.getContextPath() %>/images/img_lookup.gif" width="15" height="15" style="cursor:hand"/>';
	
	cell = row.insertCell(2);
	cell.className = "dcontent";
	cell.innerHTML = '<input type="text" name="data_content"/>';
	
	cell = row.insertCell(3);
	cell.innerHTML = '<input type="button" value="-" onclick="doDelRow(\'' + tableid + "\',\'" + trid + '\')" class="buttonbg01" style="width:18px"></input>';
	
  } 


  /* 删除行 */
  function doDelRow(tableid, trid){
	var t = document.getElementById(tableid);
	var tr = document.getElementById(trid);
	var num = tr.rowIndex;
	t.deleteRow(num);
  }

  
  /* 添加列 */
  function addCell (){
	var t = document.getElementById("inspecttable");
	t.width = parseInt(t.width) + 31;
	var oBody=t.tBodies[0];
	var rows=oBody.rows;
	
	var celllength = rows[1].cells.length;
	cell = rows[1].insertCell(celllength);
	cell.innerHTML = celllength + 1;
	for(var i = 2; i < rows.length - 2; i++){
		var name = rows[i].cells[4].firstChild.name;
		celllength = rows[i].cells.length;
		cell = rows[i].insertCell(celllength);
		cell.width="30"
		cell.innerHTML = '<input size="3" type="text" name="' + name + '"/>';
	}
	/*
	var name = rows[rows.length - 4].cells[3].firstChild.name;
	celllength = rows[rows.length - 4].cells.length;
	cell = rows[rows.length - 4].insertCell(celllength);
	cell.width="30"
	cell.innerHTML = '<input type="checkbox" name="' + name + '" value="' + (celllength - 1) + '"/>';
	*/	
	rows[0].cells[3].colSpan = rows[0].cells[3].colSpan + 1;
	rows[rows.length-1].cells[1].colSpan = rows[rows.length-1].cells[1].colSpan + 1;
	rows[rows.length-2].cells[1].colSpan = rows[rows.length-2].cells[1].colSpan + 1;
	//rows[rows.length-3].cells[1].colSpan = rows[rows.length-3].cells[1].colSpan + 1;
  }


  /** 添加表 **/
  function addDataPackage(){
	var div = document.getElementById("dataPackage");
	var t = document.createElement("TABLE");
	t.className = "packageItem";
	var row = t.insertRow(0);
	var cell = row.insertCell(0);
	cell.className = "Lable";
	cell.innerHTML = "分包合同或工程";
	
	cell = row.insertCell(1);
	cell.className = "Content";
	cell.innerHTML = '<input type="text" name="TDeliverBillDto.billcode" size="35" /><img src="<%=request.getContextPath() %>/images/img_lookup.gif" width="15" height="15" style="cursor:hand"/>';
	
	cell = row.insertCell(2);
	cell.className = "closeBlock";
	cell.innerHTML = '<img src="<%=request.getContextPath() %>/images/oa/delete.gif" width="15" height="15" style="cursor:hand"/>';
	
	row = t.insertRow(1);
	cell = row.insertCell(0);
	cell.className = "Lable";
	cell.innerHTML = "资料详细";
	
	cell = row.insertCell(1);
	cell.colSpan = '2';
	cell.className = "Content";
	
	/** begin 创建子表 **/
	var subt = document.createElement("TABLE");
	subt.className = "packageData"
	//subt.setAttribute('cellspacing', '1');
	subt.cellSpacing = 1;
	row = subt.insertRow(0);
	subcell = row.insertCell(0);
	subcell.className = "dtitle";
	subcell.style.width = "10%";
	subcell.innerHTML = "序号";
	
	subcell = row.insertCell(1);
	subcell.className = "dtitle";
	subcell.style.width = "40%";
	subcell.innerHTML = "资料类别";
	
	subcell = row.insertCell(2);
	subcell.className = "dtitle";
	subcell.style.width = "50%";
	subcell.innerHTML = "资料内容";
	
	subcell = row.insertCell(3);
	subcell.className = "dtitle";
	subcell.style.width = "20px";
	
	row = subt.insertRow(1);
	subcell = row.insertCell(0);
	subcell.className = "dcontent";
	subcell.innerHTML = "1";
	
	subcell = row.insertCell(1);
	subcell.className = "dcontent";
	subcell.innerHTML = '<input type="text" name="data_type"/><img src="<%=request.getContextPath() %>/images/img_lookup.gif" width="15" height="15" style="cursor:hand"/>';
	
	subcell = row.insertCell(2);
	subcell.className = "dcontent";
	subcell.innerHTML = '<input type="text" name="data_content"/>';
	
	subcell = row.insertCell(3);
	subcell.className = "dcontent";
	subcell.style.padding = "0px";
	subcell.innerHTML = '<input type="button" class="buttonbg01" onclick="doAddRow()" value="+" style="width:18px"/>';
	/** end **/
	cell.appendChild(subt);
	 
	row = t.insertRow(2);
	cell = row.insertCell(0);
	cell.className = "Lable";
	cell.innerHTML = "寄送备注";
	
	cell = row.insertCell(1);
	cell.colSpan = '2';
	cell.className = "Content";
	cell.innerHTML = '<textarea name="TDeliverBillDto.deliverremark" cols="80" rows="6"></textarea>';
	
	div.appendChild(t);
  }

 
分享到:
评论

相关推荐

    js操作table导出excel

    3. **JavaScript操作**:使用JavaScript获取表格数据并创建CSV(逗号分隔值)字符串,这是Excel能识别的一种格式。 ```javascript function exportTableToCSV(filename) { var table = document.getElementById('...

    JS操作table大全

    在JavaScript的世界里,HTML表格(Table)是一种常用的数据展示方式,而JS操作表格则成为网页动态交互的关键。本文将深入探讨如何使用JavaScript进行表格的创建、修改、删除以及实现一些特殊效果。 首先,我们从...

    js动态操作table实例

    在JavaScript(JS)中,动态操作表格是一种常见的需求,它涉及到HTML DOM(Document Object Model)的元素操作。本文将深入探讨如何使用JavaScript实现对表格的动态添加、删除、修改和查询功能,结合给出的标签...

    js操作table行的上下移动,置顶置底

    在网页开发中,表格(Table)是一种常见的数据展示方式,而使用JavaScript进行交互式操作可以增强用户体验。本文将深入探讨如何使用JavaScript实现表格行的上下移动、置顶和置底功能,以及相关辅助操作。 首先,`js...

    js代码操作table排序功能

    在JavaScript中,对HTML表格(`&lt;table&gt;`)进行排序是一项常见的需求,特别是在动态数据展示和用户交互的应用中。本文将深入探讨如何使用JavaScript实现表格数据的排序功能。 首先,我们要理解HTML表格的基本结构,...

    bootstrap-table-export.js和tableExport.js

    而“bootstrap-table-export.js”和“tableExport.js”是针对Bootstrap表格的导出插件,它们扩展了表格的功能,允许用户将表格数据导出为各种格式,如CSV、Excel、PDF等,便于数据分析和存储。 首先,我们来详细...

    使用javascript脚本操作table

    使用javascript脚本向页面中的table添加和删除行

    js操作table的特效分享

    js操作table的特效分享

    JS手动改变table的宽度

    在网页设计中,JavaScript(JS)是一种常用的客户端脚本语言,用于增强用户的交互体验和动态更新页面内容。本文将深入探讨如何使用JavaScript手动改变HTML表格(table)的宽度,并结合鼠标选中文字查询功能,为用户...

    js 操作 增加删除Table行

    本文将深入探讨如何使用JavaScript来动态地增加和删除表格(Table)的行。 首先,我们需要了解HTML表格的基本结构。一个基本的表格由`&lt;table&gt;`元素、`&lt;tr&gt;`(表格行)元素、`&lt;td&gt;`(表格数据单元格)元素组成。如果...

    js对Table排序经典

    在JavaScript(js)中,对HTML表格(Table)进行排序是一项常见的需求,特别是在网页交互和数据展示中。本文将深入探讨如何使用JavaScript实现点击表头进行动态排序,并处理各种复杂情况,如包含HTML标签的单元格、...

    javascript table 增加删除行,巧妙实现

    在JavaScript中,表格(Table)是网页数据展示的常用元素,而动态地增加或删除行则是常见的交互需求。本文将深入探讨如何巧妙地利用JavaScript来实现这个功能。 首先,我们需要了解HTML中的`&lt;table&gt;`元素及其相关...

    【原创】JS操作table--XTable类

    低调发布,因为是小样版本,集成了几个简单的方法...写此类的目的一个事方便操作table二是可以引入ajax做无刷新分页啥的 当然这些还没做 只是最简单实用的方法 争取尽快完善,引入ajax元素。尽请期待。 demo地址: ...

    javascript 操作 table

    javascript 操作 table的一个例子. 可以下去研究下

    原生js table表格自动排序效果

    总的来说,原生js table表格自动排序效果的实现涉及到HTML结构的理解、JavaScript事件处理、数组排序算法的运用以及DOM操作。这是一个实用的功能,通过学习和理解这个例子,可以提升我们对前端开发中数据处理和交互...

    JS操作table的tr/td

    js操作HTML增加删除TR/TD (学前班级别的哈!)

    bootstrap table editable js

    Bootstrap Table Editable JS 是一个基于Bootstrap框架的动态表格插件,它允许用户在表格的单元格内进行编辑,提供了一种交互式的数据展示和管理方式。这个压缩包包含以下三个核心文件: 1. **bootstrap-editable....

    js实现漂亮的table表格

    提供的"JS实现漂亮的表格table特效代码"可能包含JavaScript函数和CSS样式,用于实现上述功能。通常,这将包括对HTML表格元素的操作,以及添加CSS类和JavaScript事件监听器以实现特定效果。 总之,通过结合...

    bootstrap-table-editable.js

    解压后,开发者可以参考其中的 HTML、CSS 和 JavaScript 文件来学习如何在实际项目中设置和使用 `bootstrap-table-editable.js`。 为了更好地利用这个组件,你需要了解 Bootstrap Table 和 x-editable 的基本用法,...

    js获取table中当前选择行号

    通过js获取table中当前选择的一行的行号,获取当前行号后可以进行对应的操作

Global site tag (gtag.js) - Google Analytics