函数定义在onload外面,没有办法引用onload中获取到的节点,只能在函数中重新获取吗?

        <script>
            window.onload = function() {
                var oTab = document.getElementById("tab1");
                for (var i=0;i<oTab.tBodies[0].rows.length;i++) {
                    if (i%2==0) {
                        oTab.tBodies[0].rows[i].style.background="#ccc"
                    } else{
                        oTab.tBodies[0].rows[i].style.background=""
                    }
                }
            }
            
            function btn1() {
                var oTab = document.getElementById("tab1");
                var otd = oTab.tBodies[0].rows[0].cells[0];
                    alert(otd.innerHTML);
                }
        </script>

var otd = oTab.tBodies[0].rows[0].cells[0];这句话如果定义在onload中的话引用btn1()时会提示otd未定义,能不能有什么简单的办法不用再函数中重新获取,而是一次性一起获取。

肖小波
浏览 1941回答 1
1回答

摩诃迦叶

不太明白你的问题。 不想重复获取var oTab = document.getElementById("tab1");么?那你把他放在函数外面变成全局变量啊。  <script>var oTab= 0;            window.onload = function() {                oTab = document.getElementById("tab1");                         for (var i=0;i<oTab.tBodies[0].rows.length;i++) {                    if (i%2==0) {                        oTab.tBodies[0].rows[i].style.background="#ccc"                    } else{                        oTab.tBodies[0].rows[i].style.background=""                    }                }            }                        function btn1() {                var otd = oTab.tBodies[0].rows[0].cells[0];                    alert(otd.innerHTML);                }        </script>
打开App,查看更多内容
随时随地看视频慕课网APP