最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS代码在ie8里报错document.getElementById(...)为空或不是对象的解决方法

来源:动视网 责编:小采 时间:2020-11-27 20:45:53
文档

JS代码在ie8里报错document.getElementById(...)为空或不是对象的解决方法

JS代码在ie8里报错document.getElementById(...)为空或不是对象的解决方法:ie8中对于声明文档类型更加严格如下面的代码。<input type='text' name='os' value='Windows平台' style='width:100px' /> <script type="text/javascript&
推荐度:
导读JS代码在ie8里报错document.getElementById(...)为空或不是对象的解决方法:ie8中对于声明文档类型更加严格如下面的代码。<input type='text' name='os' value='Windows平台' style='width:100px' /> <script type="text/javascript&


ie8中对于声明文档类型更加严格如下面的代码。

<input type='text' name='os' value='Windows平台' style='width:100px' /> 
<script type="text/javascript"> 
 function osdo(str){ 
 document.getElementById("os").value=str; 
 } 
 </script> 
<input name="ostmp" type="radio" value="" onclick="osdo('')" />清空 
<input name="ostmp" type="radio" value="Windows平台" onclick="osdo('Windows平台')" /> 
Windows平台 <input name="ostmp" type="radio" value="" onclick="osdo('S60v2')" />S60v2 
<input name="ostmp" type="radio" value="" onclick="osdo('S60v3')" />S60v3 
<input name="ostmp" type="radio" value="" onclick="osdo('CHM')" />CHM 
<input name="ostmp" type="radio" value="" onclick="osdo('PDF')" />PDF 
<input name="ostmp" type="radio" value="" onclick="osdo('PPT')" />PPT 
<input name="ostmp" type="radio" value="" onclick="osdo('DOC')" />WORD 
<input name="ostmp" type="radio" value="" onclick="osdo('EXCEL')" />EXCEL
 
<input name="ostmp" type="radio" value="" onclick="osdo('asp')" />asp 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+access')" />asp+access 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+sqlserver')" />asp+sqlserver 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+sql/access')" /> 
asp+sql/access <strong>php源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo('php')" />php 
<input name="ostmp" type="radio" value="" onclick="osdo('php+mysql')" /> 
php+mysql<input name="ostmp" type="radio" value="" onclick="osdo('jsp')" />jsp <strong>asp.net源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net')" />asp.net 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+access')" />asp.net+access 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+sql')" />asp.net+sql 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+sql/access')" />asp.net+sql/access

可以看到这段代码在ie7与ie8中都是可以运行的,下面的代码我们加入声明文档

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

加了上面的文档类型声明。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
运行环境: 
<input type='text' name='os' value='Windows平台' style='width:100px' /> 

<script type="text/javascript"> 
 function osdo(str){ 
 document.getElementById("os").value=str; 
 } 
 </script> 
<input name="ostmp" type="radio" value="" onclick="osdo('')" />清空 
<input name="ostmp" type="radio" value="Windows平台" onclick="osdo('Windows平台')" /> 
Windows平台 <input name="ostmp" type="radio" value="" onclick="osdo('S60v2')" />S60v2 
<input name="ostmp" type="radio" value="" onclick="osdo('S60v3')" />S60v3 
<input name="ostmp" type="radio" value="" onclick="osdo('CHM')" />CHM 
<input name="ostmp" type="radio" value="" onclick="osdo('PDF')" />PDF 
<input name="ostmp" type="radio" value="" onclick="osdo('PPT')" />PPT 
<input name="ostmp" type="radio" value="" onclick="osdo('DOC')" />WORD 
<input name="ostmp" type="radio" value="" onclick="osdo('EXCEL')" />EXCEL
 
<input name="ostmp" type="radio" value="" onclick="osdo('asp')" />asp 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+access')" />asp+access 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+sqlserver')" />asp+sqlserver 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+sql/access')" /> 
asp+sql/access <strong>php源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo('php')" />php 
<input name="ostmp" type="radio" value="" onclick="osdo('php+mysql')" /> 
php+mysql<input name="ostmp" type="radio" value="" onclick="osdo('jsp')" />jsp <strong>asp.net源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net')" />asp.net 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+access')" />asp.net+access 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+sql')" />asp.net+sql 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+sql/access')" />asp.net+sql/access

发现 提示document.getElementById(...) 为空或不是对象的解决方法
如果页面中既有文档声明,因为用div+css布局的时候,声不声明文档,页面的一些地方都不一样。
可以在head中添加下面的代码

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

完整的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 
运行环境: 
<input type='text' name='os' value='Windows平台' style='width:100px' /> 

<script type="text/javascript"> 
 function osdo(str){ 
 document.getElementById("os").value=str; 
 } 
 </script> 
<input name="ostmp" type="radio" value="" onclick="osdo('')" />清空 
<input name="ostmp" type="radio" value="Windows平台" onclick="osdo('Windows平台')" /> 
Windows平台 <input name="ostmp" type="radio" value="" onclick="osdo('S60v2')" />S60v2 
<input name="ostmp" type="radio" value="" onclick="osdo('S60v3')" />S60v3 
<input name="ostmp" type="radio" value="" onclick="osdo('CHM')" />CHM 
<input name="ostmp" type="radio" value="" onclick="osdo('PDF')" />PDF 
<input name="ostmp" type="radio" value="" onclick="osdo('PPT')" />PPT 
<input name="ostmp" type="radio" value="" onclick="osdo('DOC')" />WORD 
<input name="ostmp" type="radio" value="" onclick="osdo('EXCEL')" />EXCEL
 
<input name="ostmp" type="radio" value="" onclick="osdo('asp')" />asp 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+access')" />asp+access 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+sqlserver')" />asp+sqlserver 
<input name="ostmp" type="radio" value="" onclick="osdo('asp+sql/access')" /> 
asp+sql/access <strong>php源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo('php')" />php 
<input name="ostmp" type="radio" value="" onclick="osdo('php+mysql')" /> 
php+mysql<input name="ostmp" type="radio" value="" onclick="osdo('jsp')" />jsp <strong>asp.net源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net')" />asp.net 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+access')" />asp.net+access 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+sql')" />asp.net+sql 
<input name="ostmp" type="radio" value="" onclick="osdo('asp.net+sql/access')" />asp.net+sql/access

文档

JS代码在ie8里报错document.getElementById(...)为空或不是对象的解决方法

JS代码在ie8里报错document.getElementById(...)为空或不是对象的解决方法:ie8中对于声明文档类型更加严格如下面的代码。<input type='text' name='os' value='Windows平台' style='width:100px' /> <script type="text/javascript&
推荐度:
标签: js 解决方法 对象
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top