无法在Javascript中分配元素

时间:2012-09-24 22:35:56

标签: javascript html

此代码有什么问题,例如没有分配权利或什么?所有引用的ID都存在,控制台会记录它,但只分配了topbar.cw。我认为它也可能被分配到其他地方,不确定。而且,我甚至不确定这是什么。它是一个数组,一个类,一个构造或什么?

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");
}

1 个答案:

答案 0 :(得分:0)

在代码中:

> var topbar = {};

将新对象指定给topbar

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

如果document.readyState的值等于字符串'complete',则:

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

将RHS上的呼叫结果分配给cw的{​​{1}}属性。如果这样的属性不存在,则创建它。

如果存在id为 contentWrapper 的元素,请指定对topbar属性的引用。如果不存在id为 contentWrapper 的元素,则将分配cw的值,因为如果找不到匹配的元素,则指定document.getElementById返回的值

null

以上消息是否曾在控制台中显示?你试过了吗?

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

如果没有,请尝试一下。报告你所看到的内容。