2013-07-02 11 views
0

У меня проблема с моей функцией 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 
      } 
     ] 
    } 
] 
}; 
+0

Вы можете отлаживать, установив точку останова, чтобы увидеть значение Style.configs [я] .setup [с] .size.flag? Затем убедитесь, что идентификатор - это то, что вы ожидали увидеть. –

ответ

1

Вы должны использовать

document.getElementById(Style.configs[i].flag); 

вместо

document.getElementById(Style.configs[i].setup[c].size.flag) 
+0

Спасибо ... Это действительно глупая ошибка. – user2182164

Смежные вопросы