关于js操作table的tr td 找到答案就结贴

dreamboom 2011-11-17 12:32:31
现在我要做一个js删除table里的tr (保留第一个th) 页面是jsp
table形式如下:

<table id="tableCreate" width="268" border="1" cellpadding="0" cellspacing="0">
<tr>
<th scope="col" width="40%">name</th>
<th scope="col">time</th>
</tr>
</table>

其他的tr都是js动态添加的: 所以我的目的是 当下一次添加的时候清空前一次的tr数据
用 javascript实现:
求助-------------------
...全文
187 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
街头小贩 2011-11-17
  • 打赏
  • 举报
回复
deleteRow(index)
dreamboom 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 liangws 的回复:]
引用 8 楼 ifandui 的回复:

我觉得我的while写的就挺好 很简洁

简洁是简洁。但性能不高。。知道每次length都会强制渲染树重排来获取长度么?
必然是将length放到缓存中,然后循环是最好的。。
[/Quote]

谢谢大家
liangws 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ifandui 的回复:]

我觉得我的while写的就挺好 很简洁
[/Quote]
简洁是简洁。但性能不高。。知道每次length都会强制渲染树重排来获取长度么?
必然是将length放到缓存中,然后循环是最好的。。
dreamboom 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liangws 的回复:]
引用 2 楼 dreamboom 的回复:

JScript code

var t = document.getElementById("tableCreate");
for(var u=0;u<t.rows.length;u++){
if(u!=0){
t.deleteRow(u);
}
}



这是我的代码 , 但是出现情况是只删除了一半 .. 困惑中

肯定……
[/Quote]

这见过这样的for循环写法啊 !!!

5楼 6楼 正解 撒分
默默不得鱼 2011-11-17
  • 打赏
  • 举报
回复
我觉得我的while写的就挺好 很简洁
dreamboom 2011-11-17
  • 打赏
  • 举报
回复

var t = document.getElementById("tableCreate");
alert(t.rows.length);
var leg = t.rows.length;
for(var u=0;u<leg;u++){
alert(u);
if(u!=0){
t.deleteRow(1);
}
}



谢谢各位 我解决了,真的是都在变化的,这下好了 谢谢谢谢 结贴散分
caibird1024 2011-11-17
  • 打赏
  • 举报
回复

var t = document.getElementById("tableCreate");
while(t.rows.length>1){
t.deleteRow(1);
}
默默不得鱼 2011-11-17
  • 打赏
  • 举报
回复

var table=document.getElementById('table1');
while(table.rows.length!=1){
table.deleteRow(table.rows.length-1);
};
liangws 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dreamboom 的回复:]

JScript code

var t = document.getElementById("tableCreate");
for(var u=0;u<t.rows.length;u++){
if(u!=0){
t.deleteRow(u);
}
}



这是我的代码 , 但是出现情况是只删除了一半 .. 困惑中
[/Quote]
肯定是删除一半啊,t.rows.length每次都会变
var t = document.getElementById("tableCreate");
for(var u=0, j = t.rows.length;u < j;u++){
if(u!=0){
t.deleteRow(u);
}
}
默默不得鱼 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dreamboom 的回复:]
JScript code


var t = document.getElementById("tableCreate");
for(var u=0;u<t.rows.length;u++){
if(u!=0){
t.deleteRow(u);
}
}



这是我的代码 , 但是出现情况是只删除了一半 .. 困惑中
[/Quote]因为你每删一次 rows.length都在变
dreamboom 2011-11-17
  • 打赏
  • 举报
回复

var t = document.getElementById("tableCreate");
for(var u=0;u<t.rows.length;u++){
if(u!=0){
t.deleteRow(u);
}
}


这是我的代码 , 但是出现情况是只删除了一半 .. 困惑中

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧