DOcument对象为空或者不是对象

小伙真帅 2009-01-26 12:02:06
做的一个后台管理页面,左侧为导航页.
用javascript做了一个可以展开的闭合的菜单.
<SCRIPT language="javascript">
function showsubmenu(sid)
{
var obj1= "ss" + sid
whichEl = eval("submenu" + sid);
if (whichEl.style.display == "none")
{
eval("submenu" + sid + ".style.display=\"\";");
document.all.item(obj1).src='image/hide.gif';
}
else
{
eval("submenu" + sid + ".style.display=\"none\";");
document.all.item(obj1).src='image/show.gif';
}
}

</SCRIPT>


然后在父菜单下写

<tr id=menuTitle1 onClick="showsubmenu(17)" style="cursor: hand">
<td width="134" height=25 valign="middle" background="image/bg.GIF" class=menu_title onmouseover=this.className='menu_title2'; onmouseout=this.className='menu_title'; >
<span>系统管理</span> </td>
<td width="25"><img src="image/hide.GIF" width="25" height="25" id=ss1></td>
</tr>

提示document.all.item(...)为空或不是对象.怎么解决?
...全文
567 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kocokolo 2010-04-28
  • 打赏
  • 举报
回复
二楼正解
尘封已久 2010-03-22
  • 打赏
  • 举报
回复
我用IE8也有这个问题也
烈焰 2009-05-14
  • 打赏
  • 举报
回复
强烈顶2楼的
午夜咖啡男 2009-01-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wz_307 的回复:]
引用 3 楼 AWHeaVen 的回复:
少用eval和document.all把,都不是规范的写法。尤其是eval,尽量少用,一般只有很特殊的需求才会用到的


不赞同.
eval()是NN4以上IE4以上均支持的标准js方法. 这项方法确定字符串是否可以解释成JAVASCRIPT代码, 如果可以就将执行它, 并返回计算的结果. 使用它可以保证js的执行效果. 不过多数情况下不需要使用, 只有在字符串需要进行判断或者将其它的数据类型返转成object时使用. 并不是说因为它…
[/Quote]

我是说获取dom对象使用eval不规范阿,尤其在多次循环的情况下,ff下性能很低的。而且使用eval也最好用try的。
wz_307 2009-01-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 AWHeaVen 的回复:]
少用eval和document.all把,都不是规范的写法。尤其是eval,尽量少用,一般只有很特殊的需求才会用到的
[/Quote]

不赞同.
eval()是NN4以上IE4以上均支持的标准js方法. 这项方法确定字符串是否可以解释成JAVASCRIPT代码, 如果可以就将执行它, 并返回计算的结果. 使用它可以保证js的执行效果. 不过多数情况下不需要使用, 只有在字符串需要进行判断或者将其它的数据类型返转成object时使用. 并不是说因为它不规范而少用.
feixuewuhen3812 2009-01-27
  • 打赏
  • 举报
回复
应该是浏览器的问题吧
不悲不喜 2009-01-26
  • 打赏
  • 举报
回复
代码不完全吧?

访问对象最好使用 document.getElementById。

另外,楼主需要确认一下,页面中是不存在 id=ss17这样的元素。
上面的代码中只有 is=ss1 .
如果这是全部的代码的话,当然就找不到 ss17了。
午夜咖啡男 2009-01-26
  • 打赏
  • 举报
回复
少用eval和document.all把,都不是规范的写法。尤其是eval,尽量少用,一般只有很特殊的需求才会用到的
latimerjie9 2009-01-26
  • 打赏
  • 举报
回复
DOcument对象为空或者不是对象

问题在于 获得不到这个对象,而获得不到这个对象的原因,基本又这个两个问题
一是:没有这个get到这个对象,也 就是说 这个指定的id,可以检查下 id名字是否写错了
二是:页面没有加载完就开始获得那个指定的id,可以将代码剪切到</body>前面,也就是最后一行

87,921

社区成员

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

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