innerHTML IE6,7,8支持 火狐和谷歌浏览器不支持

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME=”Generator” CONTENT=”EditPlus”>
  <META NAME=”Author” CONTENT=””>
  <META NAME=”Keywords” CONTENT=””>
  <META NAME=”Description” CONTENT=””>
 </HEAD>

 <BODY>
 <div id=”test”>
  text:<input id=”a” type=”text” value=”原来”/><br>
  hidden:<input id=”b” type=”hidden” value=”hidden”/>
 </div>

 <br><br>
 <input type=”button” value=”点击” onclick=”f()”/>
 <script language=”javascript”>
  function f(){
   document.getElementById(“a”).value=”改变”;//这句在innerHTML的时候(IE有效 火狐谷歌无效)
   document.getElementById(“b”).value=”改变”;//这句在innerHTML的时候(IE有效 火狐谷歌有效)  很奇怪据说是火狐的bug  难道谷歌也有这样的bug???
   alert(document.getElementById(‘test’).innerHTML);
  }
  //解决方法 document.getElementById(“a”).setAttribute(“value”,”改变”);//此句在上述三种浏览器均有效
 </script>
 </BODY>
</HTML>
innerHTML对用jQuery里面的html()这个方法,在用jQuery的时候发现这个  困扰了一段时间  以作笔记!

One comment

  1. document.getElementById,这个东西很神奇的。
    在ie下,如果元素标签没有id的话,document.getElementById会自己去寻找对应的name值是id的标签。
    而谷歌浏览器则不然,会无响应。
    就是大家都在说的:ie浏览器的容错率高些。谷歌的则不然。当然,对一个好的开发者而言,还是严格些好的。

Leave a Reply