JS不能在火狐下运行,但在谷歌和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>
<script type="text/javascript" language="javascript">
var count = 0;
var limit = new Array();
var countlimit = 1;

function expandIt(el) {
obj = eval("sub" + el);
if (obj.style.display == "none") {
obj.style.display = "block";
if (count < countlimit) {
limit[count] = el;
count++;
}
else {
eval("sub" + limit[0]).style.display = "none";
for (i = 0; i < limit.length - 1; i++) { limit[i] = limit[i + 1]; }
limit[limit.length - 1] = el;
}
}
else {
obj.style.display = "none";
var j;
for (i = 0; i < limit.length; i++) { if (limit[i] == el) j = i; }
for (i = j; i < limit.length - 1; i++) { limit[i] = limit[i + 1]; }
limit[limit.length - 1] = null;
count--;
}
}
</script>
</head>
<body>
<div id="main1" onclick="expandIt(1)">
<table width="170" height="24" border="0" cellpadding="0" cellspacing="0">
<tr style="cursor: hand;">
<td width="26"></td>
<td class="SystemLeft"> XXXXX </td>
</tr>
</table>
</div>
<div id="sub1" style="display: none">
<table width="160" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="36" height="22"></td>
<td class="SystemLeft"><a href="NewsSort.asp?Action=Add&ParentID=0" target="mainFrame" onclick='changeAdminFlag("XXXX")'> XXXXX</a></td>
</tr>
<tr>
<td width="36" height="22"></td>
<td class="SystemLeft"><a href="NewsList.asp" target="mainFrame" onclick='changeAdminFlag("XXXXX")'>XXXXX</a></td>
</tr>
<tr>
<td width="36" height="22"></td>
<td class="SystemLeft"><a href="NewsEdit.asp?Result=Add" target="mainFrame" onclick='changeAdminFlag("XXX")'> XXX</a></td>
</tr>
</table>
</div>
</body>
</html>

  您好,感谢您对火狐的支持

  兼容问题,eval("sub1")这个写法并不规范,所以火狐下会有问题,用document.getElementById("sub1")代替就可以了。
  您可以在火狐官方网站下载火狐浏览器,在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-26
eval("sub1")这种用法相当于直接使用DOM节点的ID"sub1"调用DOM对象,最早是IE这样用,谷歌对此现象做了兼容,但火狐要求比较严格,不允许这样使用。所以你将代码中这些部分用document.getElementById("sub1")代替就好了。本回答被提问者采纳
相似回答