- 浏览: 103164 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
xwpxcom:
Springmvc学习笔记一(maven项目创建与配置) -
leaow567:
表达不严谨“用户自定义的ClassLoader有ExtClas ...
openfire源码解读第一节----ClassLoader的认识与理解 -
leaow567:
顶起!一起学习
openfire源码解读第一节----ClassLoader的认识与理解 -
xs.cctv:
信科
Springmvc学习笔记一(maven项目创建与配置) -
ywbrj042:
我们也在用这个,也在看openfire的源代码。以后可以一起交 ...
openfire源码解读第一节----ClassLoader的认识与理解
利用js来动态创建表格有两种格式,appendChild()和insertRow、insertCell()。两种方式其实差不多,但第一种有可能在IE上有问题
,所以推荐大家使用第二种了,直接说吧。
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设置的值了,比如:1
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
这个方法也全部适用,呵呵。
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");
这样就搞定了,可以简单的创建一个行和列了。具体的代码我贴在下面。只是很简单的例子,不过方法就大概是上面的了,呵呵,慢慢摸索吧~
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>蓝光-BlueShine</title>
<script language="Java
Script">
var
Count=false,NO=1;
function addRow(){
Count=!Count;
//添加一行
var newTr
= testTbl.insertRow(testTbl.rows.length);
//添加两列
var newTd0 =
newTr.insertCell();
var newTd1 = newTr.insertCell();
var newTd2 =
newTr.insertCell();
//设置列内容和属性
if(Count){newTr.style.background="#FFE1FF";}
else
{newTr.style.background="#FFEFD5";}
newTd0.innerHTML = '<input
type=checkbox id="box4">';
NO++
newTd1.innerText="第"+
NO+"行";
}
</script>
</head>
<body>
<table
width="399" border=0 cellspacing="1" id="testTbl" style="font-size:14px;"
>
<tr bgcolor="#FFEFD5">
<td width=6%><input
type=checkbox id="box1"></td>
<td >第1行</td>
<td
> </td>
</tr>
</table>
<label>
<input
type="button" value="插入行" onclick="addRow()"
/>
</label>
</body>
</html>
5、appendChild()方法
我就直接贴代码了,大家去研究,时间紧,哈哈,见谅~
<html>
<head>
<title>My
Test Page</title>
<script
type="text/javascript">
<!--
var textNumber = 1;
function
addTextBox(form, afterElement) {
// Increment the textbox
number
textNumber++;
// Create the label
var label =
document.createElement("label");
// Create the textbox
var textField =
document.createElement("input");
textField.setAttribute("type","text");
textField.setAttribute("name","txt"+textNumber);
textField.setAttribute("id","txt"+textNumber);
//
Add the label's text
label.appendChild(document.createTextNode("Text Box
#"+textNumber+": "));
// Put the textbox
inside
label.appendChild(textField);
// Add it all to the
form
form.insertBefore(label,afterElement);
return false;
}
function
removeTextBox(form) {
if (textNumber > 1) { // If there's more than one
text box
// Remove the last one added
form.removeChild(document.getElementById("txt"+textNumber).parentNode);
textNumber--;
}
}
//-->
</script>
<style
type="text/css">
<!--
label {
display:block;
margin:.25em
0em;
}
-->
</style>
</head>
<body>
<form
id="myForm" method="get" action="./" />
<label>Text Box #1:
<input type="text" name="txt1" id="txt1"
/></label>
<p>
<input type="button" value="Add
Textbox" onclick="addTextBox(this.form,this.parentNode)" />
<input
type="button" value="Remove Textbox" onclick="removeTextBox(this.form)"
/>
</p>
<p><input type="Submit" value="Submit"
/></p>
</form>
</body>
</html>
<html>
<head>
<title>My
Test Page</title>
<script
type="text/javascript">
<!--
var textNumber = 1;
function
addTextBox(form, afterElement) {
// Increment the textbox
number
textNumber++;
// Create the label
var label =
document.createElement("label");
// Create the textbox
var textField =
document.createElement("input");
textField.setAttribute("type","text");
textField.setAttribute("name","txt"+textNumber);
textField.setAttribute("id","txt"+textNumber);
//
Add the label's text
label.appendChild(document.createTextNode("Text Box
#"+textNumber+": "));
// Put the textbox
inside
label.appendChild(textField);
// Add it all to the
form
form.insertBefore(label,afterElement);
return false;
}
function
removeTextBox(form) {
if (textNumber > 1) { // If there's more than one
text box
// Remove the last one added
form.removeChild(document.getElementById("txt"+textNumber).parentNode);
textNumber--;
}
}
//-->
</script>
<style
type="text/css">
<!--
label {
display:block;
margin:.25em
0em;
}
-->
</style>
</head>
<body>
<form
id="myForm" method="get" action="./" />
<label>Text Box #1:
<input type="text" name="txt1" id="txt1"
/></label>
<p>
<input type="button" value="Add
Textbox" onclick="addTextBox(this.form,this.parentNode)" />
<input
type="button" value="Remove Textbox" onclick="removeTextBox(this.form)"
/>
</p>
<p><input type="Submit" value="Submit"
/></p>
</form>
</body>
</html>
发表评论
-
文本框只允许输入中文
2012-05-26 18:35 1066群友写的 顺手牵羊 保存了 只能输入中文:<in ... -
最新的qq号的验证
2012-05-18 22:43 722!/^[1-9]\d{4,9}$/.test("45 ... -
javaScript设计模式中的掺元类
2012-04-22 10:01 1363今天虽然周末但是没有撒懒,因为媳妇要上班所以我得送她下去,一方 ... -
JS递归将字符串中的字符替换为目标字符
2011-04-06 21:43 960//repStr:原字符串--rgExp:被替换的字符-- ... -
浮点计算方法
2011-01-20 12:57 918//浮点数加法运算 function FloatAdd(a ... -
JavaScript使用技巧精萃
2011-01-15 17:23 852(一).确认删除用法: 1. BtnDel.A ... -
JavaScript判断是否为数组
2011-01-15 17:17 853判断一个对象是否为数组比较麻烦,以下是我收集的各种版本 Do ... -
JavaScript通用的加入收藏夹代码
2011-01-15 17:15 1076<script type="text/jav ... -
jQuery对下拉框、单选框、多选框的处理
2011-01-15 17:13 1128下拉框: //得到 ... -
Firefox和IE之间7个JavaScript的差异
2011-01-15 17:12 706尽管 Java Script 历史上使用冗长而令人生厌的 ... -
JavaScript语法中12个需要绕开的陷阱
2011-01-15 17:10 7191. == Java script有两组 ... -
JavaScript类和继承:this属性
2011-01-15 17:04 790this属性表示当前对象,如果在全局作用范围内使用thi ... -
JavaScript类和继承:prototype属性
2011-01-15 17:03 747我们已经在第一章中使用prototype属性模拟类和继承的实现 ... -
JavaScript类和继承:constructor属性
2011-01-15 17:02 683constructor属性始终指向创建当前对象的构造函数。比 ... -
浅析Javascript闭包的特性
2011-01-15 17:01 704Java script闭包的定义非常晦涩——闭包,是指语法域 ... -
浅谈不用Cookie实现高亮Javascript菜单效果
2011-01-15 17:00 979笔者经常采用的高亮Java script菜单效果设计方式,一 ... -
10个最常用的JavaScript自定义函数
2011-01-15 16:57 959Java Script自定义函数在平时的开发过程中比较实用, ... -
详解JavaScript中的Array扩展
2011-01-15 16:54 718Java script中的Array扩展,一般都是从 ... -
JavaScript常用的2种定义类的方式
2011-01-15 16:51 6711. 混合构造函数/原型方式 functio ... -
使用jQuery制作滑动动画效果的层
2011-01-15 16:43 776基本原理 这些具有动态效果的滑动盒都基于同样的基本原理。 ...
相关推荐
JavaScript 动态创建表格知识点总结 JavaScript 动态创建表格是指使用 JavaScript 语言来动态地创建和修改 HTML 表格的行和单元格。这种技术非常有用,特别是在需要频繁地更新表格数据的情况下。 动态创建表格的两...
Javascript动态创建表格 兼容google浏览器、360,ie等浏览器,很实用
标题中的“老裴帮助关于Javascript动态创建表格的小练习”指的是一个使用JavaScript编程语言来动态创建HTML表格的学习资源或教程。JavaScript是一种广泛应用于客户端Web开发的脚本语言,它允许开发者在用户与网页...
### JavaScript 下动态创建表格的三种方式 在网页开发过程中,经常需要通过JavaScript来动态地创建或更新HTML元素,其中就包括表格(`<table>`)。本文将详细介绍在JavaScript中动态创建表格的三种常见方法,并对每...
总结来说,这个压缩包提供的知识涵盖了JavaScript动态创建和操作HTML表格的基本技巧,对于想要提升网页交互性的开发者尤其有用。通过学习和实践这些方法,你可以创建出更具活力和用户友好的网页应用。
在JavaScript中动态创建表格是一项常见的任务,特别是在网页交互和数据展示中。本文将深入探讨如何利用JavaScript的`insertRow()`和`insertCell()`方法来添加行和单元格,以及如何使用`deleteRow()`和`deleteCell()`...
JavaScript动态创建表格是一项基础且实用的Web开发技能,它允许开发者在客户端使用JavaScript编程语言根据需要动态生成表格元素。这在处理动态数据集、创建用户交互式界面以及动态修改网页结构时尤其有用。 在本文...
javaScript动态创建表格
总结来说,使用JavaScript动态创建和管理表格是一种非常实用且强大的功能,可以帮助开发者根据用户的需求实时调整表格结构。通过上述方法的介绍,你可以更灵活地控制表格的显示效果,提高用户体验。
在HTML中,`<table>`元素用于创建表格,而动态操作表格行通常涉及到DOM(Document Object Model)的操作。JavaScript提供了对DOM的访问和修改能力,让我们能够动态地添加、删除或修改表格元素。 1. **添加表格行**...
我们可以利用`document.createElement()`、`.appendChild()`等方法动态创建这些元素。 4. **数据驱动视图**:根据JSON数据的结构,我们需要遍历数据,为每一项生成对应的表格行。如果列数不固定,我们需要在开始...
使用JavaScript和DOM动态创建表格
本文实例讲述了Javascript动态创建表格及删除行列的方法。分享给大家供大家参考。具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
js-dynamicCreationTable使用javascript动态创建表格<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=...
本文介绍了如何在JSF页面中使用JavaScript动态创建表格,并提供了详细的示例代码。通过这种方式,可以根据用户的操作实时更新表格内容,极大地提高了Web应用的灵活性和可用性。此外,还讨论了如何添加更复杂的表单...
在了解动态创建表格及添加数据的过程中,首先我们要了解的是JavaScript的基础语法和DOM操作。JavaScript是一种动态的脚本语言,能够对网页上的元素进行动态的操作和修改。而DOM(文档对象模型)是一个跨平台和语言的...
总的来说,JavaScript动态操作表格涉及创建、删除、选择和更新表格元素,这些都需要对DOM有深入理解。在实际应用中,还要考虑浏览器兼容性,特别是对于较旧的浏览器,如IE6和早期的Firefox版本。通过合理使用...
本文所探讨的方法主要涉及使用JavaScript动态创建表格,并为表格中的每一个单元格添加点击事件处理函数,实现点击单元格时能够弹出单元格内容并改变单元格背景颜色的效果。下面详细地对标题、描述和给出的部分内容...