为什么不能改变table的结构

s1120624175 2011-07-26 03:47:27

/* 页面reset*/
function pageClear(){
//searchList.rows.length = 0;
searchList.innerHTML ="<TBODY><tr><td>URL</td><td width='500px'>Text</td></tr></TBODY>";

}

...
<table id="searchList" border="1px" >
<tr>
<td>URL</td><td width="500px">Text</td>
</tr>
</table>


我想利用rows.length或者innerHTML清空table
莫名其妙的都抛出这个错 是什么原因??
Message: Unknown runtime error


...全文
101 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyzy_yy_pm 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 s1120624175 的回复:]

引用 4 楼 kyzy_yy_pm 的回复:

<script language="javascript">
function pageClear(){
var searchList = document.getElementById("searchList");
searchList.innerHTML ="";
}
</script>

<table id="searchL……
[/Quote]
那个不好使
s1120624175 2011-07-26
  • 打赏
  • 举报
回复
算了 换其他办法吧
我给<table外面加个层用innerHTML解决了
MuBeiBei 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 s1120624175 的回复:]
引用 4 楼 kyzy_yy_pm 的回复:

<script language="javascript">
function pageClear(){
var searchList = document.getElementById("searchList");
searchList.innerHTML ="";
}
</script>

<table id="searchLi……
[/Quote]

这个好像也是只读,不能改。。。
MuBeiBei 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 s1120624175 的回复:]
可愁死我了
那这个方法也是不好用了
以前可以的,,,
不知道是不是跟IE8有什么关系
searchList.rows.length = 0;
[/Quote]
<!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=utf-8" />
<title>无标题文档</title>
</head>

<body><table id="searchList" border="1px" onclick="pageClear()">
<tr>
<td>URL</td><td width="500px">Text</td>
</tr>
</table>

<script type="text/javascript">
function pageClear(){
alert(searchList.rows.length)
//searchList.innerHTML ="<TBODY><tr><td>URL11</td><td width='500px'>Text</td></tr></TBODY>";

}
</script>



</body>
</html>
s1120624175 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kyzy_yy_pm 的回复:]

<script language="javascript">
function pageClear(){
var searchList = document.getElementById("searchList");
searchList.innerHTML ="";
}
</script>

<table id="searchList" border="1px" onclick=……
[/Quote]
可能你的不是IE8 帮我试一下这个好用不
searchList.rows.length = 0;
s1120624175 2011-07-26
  • 打赏
  • 举报
回复
可愁死我了
那这个方法也是不好用了
以前可以的,,,
不知道是不是跟IE8有什么关系
searchList.rows.length = 0;
MuBeiBei 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 s1120624175 的回复:]
我这么写就是不想使用循环 然后deleteRow之类的方法
[/Quote]

昨天我也试了半天,我IE8下面不能用innerHTML,就是按你这么写的,就报错。
我后来查百度,才知道innerHTML对于table是只读的。在IE下
呃~·谁让他是IE呢。。。
s1120624175 2011-07-26
  • 打赏
  • 举报
回复
我这么写就是不想使用循环 然后deleteRow之类的方法
s1120624175 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mubeibei 的回复:]

引用楼主 s1120624175 的回复:
HTML code

/* 页面reset*/
function pageClear(){
//searchList.rows.length = 0;
searchList.innerHTML ="<TBODY><tr><td>URL</td><td width='500px'>Text</td></tr></TBODY>";
……

……
[/Quote]
ie所有版本都是这样吗?
还有 searchList.rows.length = 0;为什么也不行了
因为记得我以前这么用过
MuBeiBei 2011-07-26
  • 打赏
  • 举报
回复
楼主要是在IE下的话必须得用这种方法:
<!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=utf-8" />
<title>无标题文档</title>
</head>

<body>
<table id="a">
<tr></tr>
<tr></tr>
</table>
<input type="button" value="click" id="c" onclick="c()" />
<script>
//add row
function c(){
tbl = document.getElementById("a");
rowsLen = tbl.rows.length;
row = tbl.insertRow(rowsLen);

//create head tag
textNode = document.createTextNode('1111');
cell = row.insertCell(0)//表示列,从0开始,要是加两列,就是row.insertCell(0),row.insertCell(1)
cell.setAttribute("hight","22");
cell.appendChild(textNode);
row.appendChild(cell);

tbl.appendChild(row);
}
</script>
</body>
</html>
kyzy_yy_pm 2011-07-26
  • 打赏
  • 举报
回复
<script language="javascript">
function pageClear(){
var searchList = document.getElementById("searchList");
searchList.innerHTML ="";
}
</script>

<table id="searchList" border="1px" onclick="pageClear()">
<tr>
<td>URL</td>
<td width="500px">Text</td>
</tr>
</table>

没问题啊
s1120624175 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lionfox 的回复:]

直接 id.属性?不用getElementById?
弓虽
[/Quote]
恩 这个不影响吧
MuBeiBei 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 s1120624175 的回复:]
HTML code

/* 页面reset*/
function pageClear(){
//searchList.rows.length = 0;
searchList.innerHTML ="<TBODY><tr><td>URL</td><td width='500px'>Text</td></tr></TBODY>";
……
[/Quote]

在IE中使用如下语句:table.innerHTML = content; 动态修改table的HTML内容时,出现“未知运行错误”。
错误原因:
在IE浏览器中,table的innerHTML属性是只读的,不能更改。类似的还有THEAD、TFOOT和TR(唯一例外的是td)。
lionfox 2011-07-26
  • 打赏
  • 举报
回复
直接 id.属性?不用getElementById?
弓虽

87,990

社区成员

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

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