ie和firefox下操作table对象的异同
2011-03-02 11:48
411 查看
ie和firefox下操作table对象的异同【测试浏览器版本:ie为6,firefox为2.0】
1)在ie下,table标签直接使用appendChild增加document.createElement('tr')的行时不显示,但是在firefox下是没有问题的。如下
运行上面的代码后,和描述一样吧。
解决办法就是在table标签内增加tbody标签,tbody使用appendChild时在ie和firefox下都可以显示了。
2)使用insertRow和insertCell插入行和单元格时需要注意的,在ie下可以不传递行号和列号,但是如果在firefox下,必须要传递,要不出错。【insertRow和insertCell可以为table标签也可以为tbody标签,这两则都可以用】如下
运行上面的代码在ie下可以插入行和单元格,但是在firefox下出现“uncaught exception: [Exception... "Not enough arguments" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: file:///E:/IISDebug/ajax/table.htm :: <TOP_LEVEL> :: line 32" data: no]”的错误
解决办法就是把行号和列号作为参数传入
但是要注意,传递的行号不能大于当前的行的长度,如已经有2行,你可以传递2,但是不能传递3。就如同强类型语言的数组一样,不能越界
1)在ie下,table标签直接使用appendChild增加document.createElement('tr')的行时不显示,但是在firefox下是没有问题的。如下
<table id="table1" border='1'></table> <script type='text/javascript'> var tb=document.getElementById('table1'); var tr=document.createElement('tr'),td=document.createElement('td'); td.innerHTML=new Date(); tr.appendChild(td);//行增加单元格 tb.appendChild(tr);//表增加行 </script>
运行上面的代码后,和描述一样吧。
解决办法就是在table标签内增加tbody标签,tbody使用appendChild时在ie和firefox下都可以显示了。
<table border='1'><tbody id="tbody1"></tbody></table> <script type='text/javascript'> var tb=document.getElementById('tbody1'); var tr=document.createElement('tr'),td=document.createElement('td'); td.innerHTML=new Date(); tr.appendChild(td);//行增加单元格 tb.appendChild(tr);//表增加行 </script>
2)使用insertRow和insertCell插入行和单元格时需要注意的,在ie下可以不传递行号和列号,但是如果在firefox下,必须要传递,要不出错。【insertRow和insertCell可以为table标签也可以为tbody标签,这两则都可以用】如下
<table id="table2" border='1'></table> <script type='text/javascript'> var tb=document.getElementById('table2'); var tr=tb.insertRow(),td=tr.insertCell(); td.innerHTML=new Date(); </script>
运行上面的代码在ie下可以插入行和单元格,但是在firefox下出现“uncaught exception: [Exception... "Not enough arguments" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: file:///E:/IISDebug/ajax/table.htm :: <TOP_LEVEL> :: line 32" data: no]”的错误
解决办法就是把行号和列号作为参数传入
但是要注意,传递的行号不能大于当前的行的长度,如已经有2行,你可以传递2,但是不能传递3。就如同强类型语言的数组一样,不能越界
<table id="table3" border='1'></table> <script type='text/javascript'> var tb=document.getElementById('table3'); var tr=tb.insertRow(tb.rows.length)//这样传递,插入在最后,你也可以传递其他的 ,td=tr.insertCell(0); td.innerHTML=new Date(); </script>
相关文章推荐
- firefox中操作frame与IE中操作frame的异同
- javascript 移动鼠标得到单元格所在table表中的rowIndex位置[兼容ie,firefox] 原创
- JS:DOM相关:table对象,节点操作
- 关于在IE和FireFox下ASP.NET AJAX框架的StringBuilder对象效率的测试 [ZT]
- table.insertRow() firefox和IE下的兼容问题
- js操作标签属性,IE与Firefox有区别
- IE和FireFox JavaScript的函数名的作用域的异同
- ie与火狐firefox的图片MIME类型异同
- js操作XML文件兼容IE与FireFox
- JS获取事件对象_获取事件的源对象(Firefox_IE)
- Firefox和IE的JS兼容性:创建Table中的数据
- JS对select动态添加options操作[IE&FireFox兼容]
- IE、Firefox兼容form target当前页iframe,javascript动态创建表单对象form设置name属性
- javascript操作table增加,批量删除,模糊查询,文本框修改(兼容IE,FF)
- 关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
- 【javascript】table对象操作,动态创建,删除指定行列
- 关于IE、Firefox、Opera页面呈现异同
- 获得ie句柄,并根据句枘操作iwebbrowser2对象
- (转)浏览器ie层或table居中和Firefox层或table不居中解决方法
- event对象在IE和firefox下兼容写法