JavaScript高手,看看IE古怪问题。有点意思。

z3h 2006-08-29 03:39:51


<style>
td.hidden {
width: 0px;
overflow: hidden;
visibility: hidden;
position: absolute;
}
</style>
<table id="t1">
<tbody>
<tr class="even">
<td class="hidden">2<input type="hidden" name="_xh_" value="2"></td>
<td class="hidden">000027<input type="hidden" name="_mldjbh_" value="000027"></td>
<td>100001<input type="hidden" name="_djbh_" value="100001"></td>
<td>三峡基金<input type="hidden" name="_djbh_mc_" value="100001"></td>
</tr>
<tr class="odd">
<td class="hidden">2<input type="hidden" name="_xh_" value="2"></td>
<td class="hidden">000027<input type="hidden" name="_mldjbh_" value="000027"></td>
<td>100003<input type="hidden" name="_djbh_" value="100003"></td>
<td>城市附加<input type="hidden" name="_djbh_mc_" value="100003"></td>
</tr>
<tr class="even">
<td class="hidden">2<input type="hidden" name="_xh_" value="2"></td>
<td class="hidden">000027<input type="hidden" name="_mldjbh_" value="000027"></td>
<td>100004<input type="hidden" name="_djbh_" value="100004"></td>
<td>中央水库移民后期扶持资金<input type="hidden" name="_djbh_mc_" value="100004"></td>
</tr>
<tr class="odd">
<td class="hidden">1<input type="hidden" name="_xh_" value="1"></td>
<td class="hidden">000033<input type="hidden" name="_mldjbh_" value="000033"></td>
<td>100001<input type="hidden" name="_djbh_" value="100001"></td>
<td>三峡基金<input type="hidden" name="_djbh_mc_" value="100001"></td>
</tr>
<tr class="even">
<td class="hidden">1<input type="hidden" name="_xh_" value="1"></td>
<td class="hidden">000033<input type="hidden" name="_mldjbh_" value="000033"></td>
<td>100002<input type="hidden" name="_djbh_" value="100002"></td>
<td>农网还贷<input type="hidden" name="_djbh_mc_" value="100002"></td>
</tr>
<tr class="odd">
<td class="hidden">1<input type="hidden" name="_xh_" value="1"></td>
<td class="hidden">000033<input type="hidden" name="_mldjbh_" value="000033"></td>
<td>100003<input type="hidden" name="_djbh_" value="100003"></td>
<td>城市附加<input type="hidden" name="_djbh_mc_" value="100003"></td>
</tr>
<tr class="even">
<td class="hidden">1<input type="hidden" name="_xh_" value="1"></td>
<td class="hidden">000033<input type="hidden" name="_mldjbh_" value="000033"></td>
<td>100004<input type="hidden" name="_djbh_" value="100004"></td>
<td>中央水库移民后期扶持资金<input type="hidden" name="_djbh_mc_" value="100004"></td>
</tr>
</tbody>
</table>
<a href="#" onclick="deleteRow(0);">正常</a>
<a href="#" onclick="deleteRow(4);">IE异常</a>
<script>
function deleteRow(k){
var dbody = t1.tBodies[0];
var rows = dbody.rows;
var dlength = rows.length;
var s = "";
for(var i= dlength-1;i >= k;i--){
s += dlength+"\t"+i+"\r\n";
dbody.deleteRow(i);
}
alert(s);
}
</script>

-------------------------
看看这个古怪的问题:
运行程序点"IE异常",运行后IE出现非法操作.
如果将hidden样式的position: absolute;去处后则一切正常.

...全文
239 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cndare 2006-09-01
  • 打赏
  • 举报
回复
套在span和div中,虽然能够解决问题,但是可能会出现空格现象
z3h 2006-08-30
  • 打赏
  • 举报
回复
代码应该如何修改呢?
z3h 2006-08-30
  • 打赏
  • 举报
回复


<style>
td.hidden{
width:0px;
}
td.hidden div{
width:0px;
overflow: hidden;
visibility: hidden;
position: absolute;
}
</style>
<table id="t1" border="1">
<tbody>
<tr class="even">
<td class="hidden"><div>2<input type="hidden" name="_xh_" value="2"></div></td>
<td>100001<input type="hidden" name="_djbh_" value="100001"></td>
<td class="hidden"><div>000027<input type="hidden" name="_mldjbh_" value="000027"></div></td>
<td>三峡基金<input type="hidden" name="_djbh_mc_" value="100001"></td>
</tr>
<tr class="odd">
<td class="hidden"><div>2<input type="hidden" name="_xh_" value="2"></div></td>
<td>100003<input type="hidden" name="_djbh_" value="100003"></td>
<td class="hidden"><div>000027<input type="hidden" name="_mldjbh_" value="000027"></div></td>
<td>城市附加<input type="hidden" name="_djbh_mc_" value="100003"></td>
</tr>
<tr class="even">
<td class="hidden"><div>2<input type="hidden" name="_xh_" value="2"></div></td>
<td>100004<input type="hidden" name="_djbh_" value="100004"></td>
<td class="hidden"><div>000027<input type="hidden" name="_mldjbh_" value="000027"></div></td>
<td>中央水库移民后期扶持资金<input type="hidden" name="_djbh_mc_" value="100004"></td>
</tr>
<tr class="odd">
<td class="hidden"><div>1<input type="hidden" name="_xh_" value="1"></div></td>
<td>100001<input type="hidden" name="_djbh_" value="100001"></td>
<td class="hidden"><div>000033<input type="hidden" name="_mldjbh_" value="000033"></div></td>
<td>三峡基金<input type="hidden" name="_djbh_mc_" value="100001"></td>
</tr>
<tr class="even">
<td class="hidden"><div>1<input type="hidden" name="_xh_" value="1"></div></td>
<td>100002<input type="hidden" name="_djbh_" value="100002"></td>
<td class="hidden"><div>000033<input type="hidden" name="_mldjbh_" value="000033"></div></td>
<td>农网还贷<input type="hidden" name="_djbh_mc_" value="100002"></td>
</tr>
<tr class="odd">
<td class="hidden"><div>1<input type="hidden" name="_xh_" value="1"></div></td>
<td>100003<input type="hidden" name="_djbh_" value="100003"></td>
<td class="hidden"><div>000033<input type="hidden" name="_mldjbh_" value="000033"></div></td>
<td>城市附加<input type="hidden" name="_djbh_mc_" value="100003"></td>
</tr>
<tr class="even">
<td class="hidden"><div>1<input type="hidden" name="_xh_" value="1"></div></td>
<td>100004<input type="hidden" name="_djbh_" value="100004"></td>
<td class="hidden"><div>000033<input type="hidden" name="_mldjbh_" value="000033"></div></td>
<td>中央水库移民后期扶持资金<input type="hidden" name="_djbh_mc_" value="100004"></td>
</tr>
</tbody>
</table>
<a href="#" onclick="deleteRow(0);">正常</a>
<a href="#" onclick="deleteRow(4);">IE异常</a>
<script>
function deleteRow(k){
var dbody = t1.tBodies[0];
var rows = dbody.rows;
var dlength = rows.length;
var s = "";
for(var i= dlength-1;i >= k;i--){
s += dlength+"\t"+i+"\r\n";
dbody.deleteRow(i);
}
alert(s);
}
</script>

-----------
代码修改为上面之后,不报错了.
但是隐藏列的位置不好看.通过样式怎么修改呢?
donggua12345678 2006-08-29
  • 打赏
  • 举报
回复
楼上说的对
hbhbhbhbhb1021 2006-08-29
  • 打赏
  • 举报
回复
绝对位置最好写在div或者span这种容器里

87,909

社区成员

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

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