为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

肖小波 2016-11-09 19:42:53
        <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未定义,能不能有什么简单的办法不用再函数中重新获取,而是一次性一起获取。
查看完整描述

1 回答

已采纳
?
摩诃迦叶

TA贡献146条经验 获得超54个赞

不太明白你的问题。

不想重复获取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>

查看完整回答
反对 回复 2016-11-09
  • 1 回答
  • 0 关注
  • 1940 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信