IE6下的document.body=null,这是为什么? 这样:<script>alert(document.body)</script>换成这样:<body><script>alert(document.body)</script></body> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是标签的问题下面代码在ie6下报错,其它版本就没有问题<HTML><HEAD><TITLE></TITLE><SCRIPT LANGUAGE=javascript><!--function test(){ alert("onfocus");}function test1(){ if (document.all){ document.body.onfocus =test; }}test1();//--></SCRIPT></HEAD><BODY></BODY></HTML> <HTML><HEAD><TITLE></TITLE><SCRIPT LANGUAGE=javascript><!--function test(){ alert("onfocus");}function test1(){ if (document.all){ window.onfocus =test; }}test1();//--></SCRIPT></HEAD><BODY></BODY></HTML> 其实是“test1();”的调用时间问题,因为当执行“test1();”时,IE尚未解释到BODY,即此时尚未有BODY对象。我想应该如此调用:window.onload=test1;在整个页面装载完毕才执行“test1();” seabell(百合心) 先谢谢你的回答,但我是想知道为什么document.body会是null,因为我有很多现成的代码都是用的document.body,可是到了IE6下就报错,我不想改以前的代码。 这样就不会出错:<HTML><HEAD><TITLE></TITLE></HEAD><BODY><SCRIPT LANGUAGE=javascript><!--function test(){ alert("onfocus");}function test1(){ if (document.all){ document.body.onfocus =test; }}test1();//--></SCRIPT></BODY></HTML>因为你的代码不在body内,个人感觉是IE6对这些的要求比较严格而已。 非也。document文档是按顺序装入的,你在执行<head>里面的代码时,<body>还没被装入呢。在尽量不改你的源程序情况下,可以这样:不要把调用test1()直接写在<head>里;最好这样:<body onload="test1()"> 框架集中对元素的访问的问题 如何查看被禁止了的站点源代码? submit 一个form以后怎么得到返回值? 请指正:Javascript 的运行及浏览器多线程 请问在window.showmodaldialog窗口中怎么屏蔽掉SUBMIT的操作. 用JS刚完成的即时战略模型 这样怎会死循环呢? HTC日历的第一个修正版本出来了,欢迎大家测试,下一个修正版在两周后推出 请问JS中有没有try--catch这种捕获异常的方法呢? 新人第一帖,求指导实现类似标签页的效果 如何实现在showmodeldialog()弹出的窗口中提交form但不弹出新窗口。 贡献大家一段设置字体和颜色的代码,欢迎优化
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function test(){
alert("onfocus");
}
function test1()
{
if (document.all){
document.body.onfocus =test;
}
}
test1();
//-->
</SCRIPT></HEAD>
<BODY></BODY>
</HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function test(){
alert("onfocus");
}
function test1()
{
if (document.all){
window.onfocus =test;
}
}
test1();
//-->
</SCRIPT></HEAD>
<BODY></BODY>
</HTML>
因为当执行“test1();”时,IE尚未解释到BODY,即此时尚未有BODY对象。我想应该如此调用:
window.onload=test1;
在整个页面装载完毕才执行“test1();”
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=javascript>
<!--
function test(){
alert("onfocus");
}
function test1()
{
if (document.all){
document.body.onfocus =test;
}
}
test1();
//-->
</SCRIPT>
</BODY>
</HTML>因为你的代码不在body内,个人感觉是IE6对这些的要求比较严格而已。
在尽量不改你的源程序情况下,可以这样:
不要把调用test1()直接写在<head>里;最好这样:<body onload="test1()">