0

権利などを割り当てないなど、このコードに何か問題がありますか?topbar.cw参照されるIDはすべて存在し、コンソールはそれをログに記録しますが、割り当てられるのは1つだけです。他の場所にも割り当てられているのではないかと思います。また、これが何であるかさえわかりません。それは配列ですか、それともクラスですか、それとも構成要素ですか、それとも何ですか?

var topbar = {};
if(document.readyState == 'complete'){
topbar.cw=document.getElementById('contentWrapper');
topbar.tb=document.getElementById('topbar');
topbar.hd=document.getElementById('header');
topbar.sm=document.getElementById('storyMenu');
topbar.dd=document.getElementById('dropdown');
topbar.bc=document.getElementById('bodyContent');
topbar.sb=document.getElementById('sidebar');
topbar.mm=document.getElementById('mainMenu');
topbar.da=document.getElementById('displayArea');
console.log("fired when done loading");
}
4

1 に答える 1

0

コード内:

> var topbar = {};

新しいオブジェクトをに割り当てますtopbar

> if(document.readyState == 'complete') {

の値がdocument.readyState文字列'complete'と同等である場合、次のようになります。

>     topbar.cw = document.getElementById('contentWrapper');

RHSでの呼び出しの結果をのcwプロパティに割り当てますtopbar。そのようなプロパティが存在しない場合は、作成されます。

idがcontentWrapperの要素がある場合は、プロパティへの参照を割り当てcwます。contentWrapperのIDを持つ要素が存在しない場合、値nullが割り当てられます。これは、一致する要素が見つからない場合に返されるdocument.getElementByIdが指定されているためです。

>   topbar.tb = document.getElementById('topbar');
>   ...
>   console.log("fired when done loading");

上記のメッセージがコンソールに表示されたことはありますか?やってみました:

    console.log(topbar);

そうでない場合は、試してみてください。あなたが見たものを報告してください。

于 2012-09-24T23:05:19.607 に答える