问答详情
源自:10-1 编程挑战

请问为什么要用window.onload? 为什么要用this 和this.index?

 <script type="text/javascript">
    window.onload = function(){
    var main = document.getElementById("main");
    var ul=main.getElementsByTagName("ul")[0];
    var lis = ul.getElementsByTagName("li");
    var divs=main.getElementsByTagName("div");

    for (var i=0; i<lis.length;i++){
        lis[i].index = i;
        lis[i].onclick=function(){
            for(var n=0;n<lis.length;n++){
                divs[n].className="hide";                
                lis[n].className="";
            }
            
            this.className="on";
            divs[this.index].className="";
        }  
            
            
          
        }
    }

提问者:其实TAMA酱不是我名字 2016-03-28 18:10

个回答

  • 榎目贵音
    2016-04-01 20:15:21
    已采纳

    等待html文档加载完毕后就执行.
    例如我们要初始化一些东西..比如说我们要把文档中的div的颜色都改变了
    那么在文档加载完毕后 在这个onload调用的函数里面我们就可以操作文档结构了..
    如果不是在onload 里面调用的话。那么在文档还没有加载完毕 我们就调用文档元素师不可以的...换句话说 东西要先存在 我才拿来用.
    onload就是在文档存在之后所有干的事.


    至于this嘛,我理解的也不是很深刻,我觉得在这段代码里,也可以不使用this的

  • 谷神通
    2016-03-28 21:53:31

    window.onload 在页面加载的时候就可以调用函数