<script type="text/javascript">
window.onload=function(){
var Color=['red','green','purple'];var obj=document.getElementsByTagName('div');
for (var i = 0; i < obj.length; i++) {
            (function(i){
                with(obj[i]) {
                    onmouseover = function() {
                        this.style.backgroundColor = Color[i];
                    }
                    onmouseout = function() {
                        this.style.backgroundColor ="";
                    }
                }
            })(i);
        }
}</script>
<div>woaini</div><div>woaini2</div><div>woaini3</div>
上面的代码IE\CHROME下正常,但是在火狐里却只有头两个DIV有效果!不知为何?

解决方案 »

  1.   

    var obj=document.body.getElementsByTagName('div');
      

  2.   

    正常,lz注意插件的影响。
    参见:http://topic.csdn.net/u/20100706/14/a81cdeed-7112-4c3e-8408-540c4951879c.html
      

  3.   

    感谢各位的回答,并特此感谢zhangshaolongjj的直接帮助,我忽略了这么一个细节:document.body.getElementsByTagName('div');
    加body,FF才正常,不加,只有IE和chrome正常,FF就出现了我上面说的情况,区别很大,我也不知道为什么!至于解释为什么,我想WebAdvocate是专门研究CSS和浏览器兼容性区别的,您的所有帖子我都看过,我相信您一定能解释出来具体为什么!拜托您辛苦一点,在此帖上再补充说明一下,谢谢!