2

<li>divにある配列を作成しようとしています。ので、私は持っています

var arr = document.getElementById('mainNav').getElementsByTagName('li');

テストの目的でalert("test"); alert(arr.length);、アラートがポップアップするかどうか、および配列のサイズを確認するためにを配置しました。どちらのアラートも表示されませんでしたが、その変数宣言の前にアラートを配置すると、正常に機能します。何がうまくいかない可能性がありますか?

4

2 に答える 2

2

document.getElementById('mainNav')が戻ってきたため、アラートが表示されていない可能性がありますnull。Javascript エラーが発生しているかどうかを確認します。または、コードを複数の行に分割して、エラーが発生している場所を簡単に確認できるようにします。

var mainNav = document.getElementById('mainNav');
alert(mainNav);
var arr = mainNav.getElementsByTagName('li');
于 2010-02-08T23:25:28.303 に答える
0

「mainNav」内に LI 要素があることが確実な場合。コードを onLoad 関数に入れてみてください。

window.onload = function(){
var arr = document.getElementById('mainNav').getElementsByTagName('li');

}

要素が作成される前にコードが実行されている可能性があります。

于 2010-02-08T23:33:00.783 に答える