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()に割り当てます。Tabber() は onload ではなく、すぐに実行されます。onload

に変更します

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

それはうまくいきます。

于 2010-06-27T19:22:43.153 に答える
7

ウィンドウの読み込み時にタブバー関数を間違って呼び出しています。

に変更します

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

JS キーワードの「as」を変数として使用していることが問題なのかもしれません。最初にそれを削除します。

于 2010-06-27T19:21:56.290 に答える