JAVASCRIPT为什么会导致错误

时间:2011-02-21 15:50:14

标签: javascript

这个javascript工作正常。它做了我想要它做的事情。它把一个寄宿生放在桌子等周围但是我仍然在firefox控制台中得到一个错误,说addressTable,AddressSpan AddressShort ...是null或未定义。一切似乎都在工作,但屏幕底部的错误很烦人,我不想在那里看到它

错误

  

的document.getElementById( “addressTable”)   为空[在此错误中突破]   的document.getElementById( “addressTable”)style.borderStyle = “固体”;

脚本

<script language="javascript" type="text/javascript">
var isDroppedDown= 0 ;
function dropDown(){
        var myTable = document.getElementById("bgImgBlue");
        var sideImage = document.getElementById("sideImage");


        parent.document.getElementById('frameMain').rows = '173,*';
        isDroppedDown = 1;
        myTable.height = 100;
        sideImage.height = 100;
        document.getElementById("bgImgBlue").style.backgroundImage="url('images/i_frame_bgnavBig.gif')";
        document.getElementById("sideImage").height = 172;
        document.getElementById("addressTable").style.borderStyle="solid";
        document.getElementById("addressTable").style.borderWidth="1px";
        document.getElementById("addressSpan").style.paddingTop="";
        document.getElementById("addressShort").style.visibility = 'hidden';
        document.getElementById("ContactSpanFull").style.paddingTop="";
        document.getElementById("ContactSpan").style.paddingTop="";
        document.getElementById("ContactSpan").style.visibility = 'hidden'
        document.getElementById("contactTable").style.borderStyle="solid";
        document.getElementById("contactTable").style.borderWidth="1px";
 }

 function dropDownUp(){
        var myTable = document.getElementById("bgImgBlue");
        var sideImage = document.getElementById("sideImage");

        parent.document.getElementById('frameMain').rows = '84,*';
        isDroppedDown = 0;
        myTable.height = 84;
        sideImage.height = 160;
        document.getElementById("bgImgBlue").style.backgroundImage="url('images/i_frame_bgnav.gif')";
        document.getElementById("bgImgBlue").style.backgroundImage="url('images/i_frame_bgnav.gif')";
        document.getElementById("sideImage").height = 79;
        document.getElementById("addressTable").style.borderStyle="";
        document.getElementById("addressTable").style.borderWidth="";
        document.getElementById("addressSpan").style.paddingTop="30px";
        document.getElementById("addressShort").style.visibility = 'visible';
        document.getElementById("ContactSpan").style.visibility = 'visible'
        document.getElementById("ContactSpanFull").style.paddingTop="30px";
        document.getElementById("contactTable").style.borderWidth="0px";
 }

function dropdownResize(){

    if(isDroppedDown == 0){     
        dropDown();
    }
    else{
        dropDownUp();
        }
}


</script>

2 个答案:

答案 0 :(得分:3)

检查您的ID的确切拼写和大小写。

我在你的问题中注意到你引用 AddressSpan AddressShort ,而在你的代码中你使用 addressSpan addressShort

ID的任何变化都会导致选择失败。

我还注意到,在您的代码中,有时您会将ID的第一个字母大写,有时则不会。您可能希望将其标准化。

答案 1 :(得分:1)

这个javascript可能在DOM准备好之前执行 - 也就是说 - 在页面加载完HTML之前。

如果是这种情况,它将找不到任何getElementById项。但是,如果你只是在这些元素上得到错误,可能的解释是它们当时没有放在DOM中执行。

或者它们不存在