js求救,火狐浏览器不兼容问题

yj0626 2011-06-21 09:29:23
如题。同样的js脚本在ie中能用,但到了火狐上却没有效果。(动态创建table).求解!!
...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yj0626 2011-06-21
  • 打赏
  • 举报
回复
嗯嗯,谢谢哈
ChDw 2011-06-21
  • 打赏
  • 举报
回复
其实根本不需要判断userAgent,因为你没有搞清楚。TABLE下面的节点是TBODY,TBODY下面才是TR


你按这个逻辑写是各个浏览器通用的。
yj0626 2011-06-21
  • 打赏
  • 举报
回复
补充,上述只是解决了js脚本动态生成table的问题。。。。。。谢谢各位大大
yj0626 2011-06-21
  • 打赏
  • 举报
回复
额。详细说明一下,不用代码的。

只是一个问题。js脚本的兼容问题,在IE上能用,到火狐上却不能用的问题。

嘿嘿,已经解决了,给大家分享一下。

1.获取table:var myTable=document.getElementById("Mytable");
2.创建TR:var tr = document.createElement("tr");
3.创建TD:var td = document.createElement("td");
4:可以为TD添加一些元素,如innerText 或 innerHTML等。
5.将TD放入TR:tr1.appendChild(td);
6.最关键的一步。前几步是IE和火狐都兼容的。通用。
将TR放入myTable:
if(document.all) // 判断是否为IE浏览器
myTable.childNodes[0].appendChild(tr1);
else
myTable.appendChild(tr1);
上面只是做了一个比较笼统的判断。
还有一个方法是比较详细的,可以直接判断浏览器的名称:
navigator.userAgent.indexOf("Safari") != -1;Safari为浏览器名称
ChDw 2011-06-21
  • 打赏
  • 举报
回复
上面写得有点问题,应该是td.innerText = td.textContent = ...
ChDw 2011-06-21
  • 打赏
  • 举报
回复
你连代码都没有贴出来,神都没有办法帮你
var t = document.createElement("TABLE");
document.getElementById("parentDiv").appendChild(t);
var tBody = document.createElement("TBODY");
t.appendChild(tBody);
for(var i = 0; i < 10; i++) {
var tr = document.createElement("TR");
tBody.appendChild(tr);
for(var j = 0; j < 10; j++) {
var td = document.createElement("TD");
td.innerText = td.contentText = "aa";
tr.appendChild(td);
}
}
yj0626 2011-06-21
  • 打赏
  • 举报
回复
么人回,我哭了 T_T

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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