document.getElementById возвращает ноль - PullRequest
2 голосов
/ 27 июня 2010

Вот соответствующий HTML:

<div id="navcontainer">
    <ul id="navlist">
        <li><a href="#tab1">Item one</a></li>
        <li><a href="#tab2">Item two</a></li>
        <li><a href="#tab3">Item three</a></li>
        <li><a href="#tab4">Item four</a></li>
        <li><a href="#tab5">Item five</a></li>
    </ul>
</div>

Содержание vertical.js

function tabber() {
    var li = document.getElementById("navcontainer");
    var as = document.getElementById('navlist');

    return;
}

window.onload = tabber();

Когда выполняется функция tabber (), вызов функции для document.getElementById возвращает ноль. Зачем? Элемент navcontainer определенно существует. Есть какие-нибудь подсказки?

Ответы [ 3 ]

12 голосов
/ 27 июня 2010

Хех, дьявол кроется в деталях.Вы делаете ошибку при назначении события onload.

window.onload = tabber();

назначит результат из tabber() свойству onload. Tabber () выполняется сразу и не загружается .

Измените его на

window.onload = function() { tabber(); }

, который будет работать.

7 голосов
/ 27 июня 2010

Вы неправильно вызываете функцию таббера при загрузке окна.

Измените ее на

window.onload = tabber;
0 голосов
/ 27 июня 2010

возможно, проблема в том, что вы используете ключевое слово JS «как» в качестве переменной.сначала удалите это.

...