2

这是相关的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的函数调用返回 null。为什么?navcontainer元素肯定存在。有什么线索吗?

4

3 回答 3

12

嘿,魔鬼在细节中。您在分配onload事件时犯了一个错误。

window.onload = tabber();

结果tabber()分配给属性onloadTabber() 立即执行而不是 onload

将其更改为

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

那可行。

于 2010-06-27T19:22:43.153 回答
7

您在窗口加载时错误地调用了 tabber 函数。

将其更改为

window.onload = tabber;
于 2010-06-27T19:24:30.787 回答
0

也许您使用 JS 关键字“as”作为变量这一事实是问题所在。先删除那个。

于 2010-06-27T19:21:56.290 回答