此代码有什么问题,例如没有分配权利或什么?所有引用的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");
}
答案 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");
如果没有,请尝试一下。报告你所看到的内容。