У меня проблема с моей функцией JS-onload. Функция getElementById() возвращает NULL каждый раз, но div существует. я не могу увидеть ошибку ...window.onload и getelementbyid возвращает null
Вот HTML-код:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<link rel="stylesheet" media="screen" href="styles/screen.css" />
<script type="text/javascript" src="scripts/browser.js"></script>
<script type="text/javascript" src="scripts/style.js"></script>
<script type="text/javascript" src="scripts/state.js"></script>
</head>
<body>
<div id="header"></div>
</body>
</html>
И JS-файл, который вызывает ошибку:
function onLoad() {
var element;
Browser.detect();
alert('Engine: ' + Browser.browser);
for (var i = 0; i < Style.configs.length; i++) {
for (var c = 0; c < Style.configs[i].setup.length; c++) {
if (Browser.browser == Style.configs[i].setup[c].engine) {
element = document.getElementById(Style.configs[i].setup[c].size.flag);
element.style.height = Style.configs[i].setup[c].size;
break;
}
else if (Style.configs[i].setup[c].engine == "Default") {
element = document.getElementById(Style.configs[i].setup[c].size.flag);
element.style.height = Style.configs[i].setup[c].size;
return;
}
}
}
}
window.onload = onLoad;
И наконец, стиль .js-файл:
var Style = {
configs : [
{
flag : "header",
setup : [
{
engine : "Gecko",
size : 37
},
{
engine : "Default",
size : 38
}
]
}
]
};
Вы можете отлаживать, установив точку останова, чтобы увидеть значение Style.configs [я] .setup [с] .size.flag? Затем убедитесь, что идентификатор - это то, что вы ожидали увидеть. –