JS动态创建表格(新增、删除行和单元格),动态设置属性,动态添加事件
1、inserRow()和insertCell()函数
insertRow()函数可以带参数,形式如下:
insertRow(index):index从0开始
这个函数将新行添加到index的那一行前,比如insertRow(0),是将新行添加到第一行之前。默认的insertRow()函数相当于 insertRow(-1),将新行添加到表的最后。一般我们在使用的时候都是:objTable.insertRow (objTable.rows.length).就是为表格objTable在最后新增一行。
insertCell()和insertRow的用法相同,这里就不再说了。
2、deleteRow()和deleteCell()方法
deleteRow()函数可以带参数,形式如下:
deleteRow(index):index从0开始
和上面两个方法差不多的意思,就是删除指定位置的行和单元格。要传入的参数:Index是行在表格中的位置,可以下面的方法取得然后去删除:
var row=document.getElementById("行的Id");
var index=row.rowIndex; //有这个属性,嘿嘿
objTable.deleteRow(index);
在使用过程中我碰到的一个问题跟大家说一下,就是删除表格的行的时候,如果你删除了某一行,那么表格行数是马上就变化的,所以如果你要删除表格的所有行,下面的代码是错误的:
复制内容到剪贴板代码:
function clearRow(){
objTable= document.getElementById("myTable");
for( var i=1; i<objTable.rows.length ; i++ )
{
tblObj.deleteRow(i);
}
} 这段代码要删除原来的表格的表体,有两个问题。首先不能是deleteRow(i),应该是deleteRow(1)。因为在删除表格行的时候,表格的行数在变化,这就是问题的关键,rows.length总是在变小,删除的行数总是会比预想的要少一半,所以正确的删除表格的行的代码应该这样:
复制内容到剪贴板代码:
function clearRow(){
objTable= document.getElementById("myTable");
var length= objTable.rows.length ;
for( var i=1; i<length; i++ )
{
objTable.deleteRow(i);
}
}
3、动态设置单元格与行的属性
A、采用setAttribute()方法
格式如下:setAttribute(属性,属性值)
说明:这个方法几乎所有的DOM对象都可以使用,第一个参数是属性的名称,比如说:border,第二个就是你要为border设置的值了,比如:
var objMyTable = document.getElementById("myTable");
objMyTable.setAttribute("border",1);//为表格设置边框为1
其他的比如你要为一个TD设置高度,同样先取得这个TD对象,然后使用setAttribute()方法
var objCell = document.getElementById("myCell");
objCell.setAttribute("height",24);//为单元格设置高度为24
在使用的时候遇到一个设置样式的问题,不能用setAttribute("class","inputbox2");而应该使用 setAttribute("className","inputbox2"),呵呵,其他我估计也有同样的问题,有些属性和我们在DW里面的不一致,呵呵,大家自己摸索吧。
B、直接赋值
var objMyTable = document.getElementById("myTable");
objMyTable.border=1;//为表格设置边框为1
这个方法也全部适用,呵呵。
C、复合属性
var objMyTable = document.getElementById("myTable");
objMyTable.style.cursor = "pointer";
4、创建表格
了解了行<tr>与单元格<td>的增删那就可以创建表格了。
第一步:你需要有一个你去动态变化的表格,我这里讲的是已经存在页面的表格,我们要设置一个id:myTable
var objMyTable = document.getElementById("myTable");
第二步:创建行与列的对象
var index = objMyTable.rows.length-1;
var nextRow = objMyTable.insertRow(index);//要新增的行,我这里是从倒数第二行开始新增的
//单元格箱号
var newCellCartonNo = nextRow.insertCell();
var cartonNoName = "IptCartonNo";
newCellCartonNo.innerHTML = " <input type='text' size='5' name="+cartonNoName+" id="+cartonNoName+" value=''>";
newCellCartonNo.setAttribute("className","tablerdd");
5、添加事件
A、无参数的情况
function doalter(){
alert('hi');
}
var tr = Table.insertRow();
tr.attachEvent("onclick",doalter);
或
tr.setAttribute("onclick","doalter()");
或
tr.onclick=function(){doalter();};
或
tr.onclick=doalter;
B、传参数的方法
var trMouseMove = function(obj)
{
return function()
{
obj.className='selected';
}
}
var tr = Table.insertRow();
tr.attachEvent("onmousemove",AddrSelfMouseMove(tr));
newcell = newRow.insertCell();
newcell.align = 'center';
newcell.innerHTML = '<span class="link-color">'+rowValue[0]+'</span>';
newcell.className = "text-left";
newcell.id = rowValue[1];
newcell.style.cursor = "pointer";
newcell.title = ""+rowValue[0]+"";
newcell.attachEvent("onclick",function(){modifyTvwallInfo(newcell);});
分享到:
相关推荐
JavaScript 动态创建表格知识点总结 JavaScript 动态创建表格是指使用 JavaScript 语言来动态地创建和修改 HTML 表格的行和单元格。这种技术非常有用,特别是在需要频繁地更新表格数据的情况下。 动态创建表格的两...
### JavaScript 下动态创建表格的三种方式 在网页开发过程中,经常需要通过JavaScript来动态地创建或更新HTML元素,其中就包括表格(`<table>`)。本文将详细介绍在JavaScript中动态创建表格的三种常见方法,并对每...
总结来说,JavaScript动态创建和操作表格的核心在于理解`insertRow()`、`insertCell()`、`deleteRow()`和`deleteCell()`方法的使用,以及如何灵活地设置表格和单元格的属性。在实际应用中,要注意浏览器兼容性问题,...
《jQuery动态创建表格生成器代码详解》 在Web开发中,动态生成表格是常见的需求,尤其是在数据展示和交互性较强的应用场景中。jQuery作为一个轻量级的JavaScript库,以其简洁的API和强大的功能深受开发者喜爱。本文...
这篇博客"JavaScript动态添加删除表格行"可能详细讲解了如何使用JavaScript实现这一功能。通过给定的标签"源码"和"工具",我们可以推测这篇文章会包含实际的代码示例和实用方法。 在HTML中,`<table>`元素用于创建...
当提到“js条目添加”时,我们通常是在讨论如何在网页上动态创建和插入新的HTML元素,比如列表项、表格行或者卡片视图。这通常涉及以下几个步骤: 1. **获取DOM元素**:首先,我们需要通过`document.getElementById...
在JavaScript(JS)中动态生成表格是一项常见的任务,特别是在网页交互和数据展示中。这篇文章将深入探讨如何利用JS实现这一功能,以及相关的源码和工具。 首先,我们要明白HTML表格的基本结构,它由`<table>`、`...
总结来说,这个"动态创建表格.zip"项目展示了如何使用JQuery和JavaScript来构建一个具有横向树形结构、分层显示和动态数据更新的表格。它涵盖了DOM操作、事件处理、数组操作、Ajax交互等多个核心概念,是学习和实践...
- 最后,可以设置单元格的内容或添加其他属性。 压缩包中的"效果演示.html"文件很可能展示了这些方法的实际应用,而"javascript 动态创建表格:新增、删除行和单元格.txt"文件可能包含了代码示例和详细的解释。 ...
以上就是JavaScript动态操作表格的基本方法。实际应用中,可能还需要考虑到事件监听、异步数据加载等情况。通过熟练掌握这些技巧,你可以创建出交互性强、功能丰富的表格应用。记住,实践是检验理论的最好方式,尝试...
总的来说,JavaScript动态操作表格涉及创建、删除、选择和更新表格元素,这些都需要对DOM有深入理解。在实际应用中,还要考虑浏览器兼容性,特别是对于较旧的浏览器,如IE6和早期的Firefox版本。通过合理使用...
### JavaScript 动态创建表格详解 在Web开发中,经常需要使用JavaScript来动态地创建或修改HTML表格元素,以响应用户的交互操作或是展示变化的数据。本文将详细介绍如何使用JavaScript中的`appendChild()`, `...
首先,我们需要了解动态创建表格的基本步骤: 1. **创建表格对象**:在C#代码中,使用`new`关键字创建一个`HtmlTable`对象,这是ASP.NET中用于表示HTML表格的类。 ```csharp HtmlTable table = new HtmlTable(); `...
在IT领域,动态创建表格标签是一项常见的编程任务,特别是在网页开发和用户界面设计中。这一技术使得开发者能够根据需要在运行时自动生成表格元素,如`<table>`、`<tr>`(表格行)、`<td>`(表格数据单元格)以及与...
要动态创建表格,我们需要获取或创建`<table>`元素。例如,可以使用`document.createElement('table')`创建一个新的表格对象,然后设置其属性如`id`或`class`。 接下来,我们需要创建表格的行`<tr>`和列`<td>`. ...
在给定的代码示例中,我们看到了一个利用JavaScript动态创建复选框并为每个复选框添加事件处理程序的过程。这个过程涉及到了DOM操作、事件绑定以及字符串处理等关键知识点。 ### 一、动态创建DOM元素 在代码片段中...
JavaScript 动态创建 Table 表格和节点操作 根据提供的文件信息,我们可以总结出以下知识点: 1. 节点操作 在 HTML 文档中,所有内容都是节点,包括文档节点、元素节点、文本节点、属性节点和注释节点。节点操作...
本主题主要聚焦于如何利用JavaScript动态创建一个包含表格(table)的DOM结构,并且在表格行(tr)中添加可点击的按钮。这通常用于展示数据集,允许用户进行交互操作,比如删除、编辑或查看详情。 首先,我们需要...
本文介绍了如何在JSF页面中使用JavaScript动态创建表格,并提供了详细的示例代码。通过这种方式,可以根据用户的操作实时更新表格内容,极大地提高了Web应用的灵活性和可用性。此外,还讨论了如何添加更复杂的表单...