这个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>
答案 0 :(得分:3)
检查您的ID的确切拼写和大小写。
我在你的问题中注意到你引用 AddressSpan AddressShort ,而在你的代码中你使用 addressSpan addressShort 。
ID的任何变化都会导致选择失败。
我还注意到,在您的代码中,有时您会将ID的第一个字母大写,有时则不会。您可能希望将其标准化。
答案 1 :(得分:1)
这个javascript可能在DOM准备好之前执行 - 也就是说 - 在页面加载完HTML之前。
如果是这种情况,它将找不到任何getElementById项。但是,如果你只是在这些元素上得到错误,可能的解释是它们当时没有放在DOM中执行。
或者它们不存在