我有一个document.body在我的javascript中是null错误,因为我使用:
$(window).width()
作为分配给我
中变量的值$(document).ready(function(){});
我会非常感谢任何可以帮助我的人。
亲切的问候
编辑:抱歉,如果这一切都不清楚。我有一个演示:http://www.wpmonk.com/demo/hypowired 首先主题将加载但后来变为白色(因为错误),但是当你重新加载时,你可以看到整个主题,因为他知道$(window).width()
的值我正在使用此代码将布局居中(css不可能,因为左边需要有宽度。)
function positioneerElement(){
$breedte = (document.body.clientWidth - 1124) / 2;
$('#bg_left').css({
'width': $breedte
});
$('.container').css({
'margin-left': $breedte
});
}
我在加载函数中调用函数positioneerElement()
。
很抱歉,如果不清楚我虽然没有必要在这里放置演示,也不需要代码。 不过,我要感谢那些正在努力帮助的人!
答案 0 :(得分:8)
我同意outis - 我们需要更多代码。
那说:
一个建议:
如果将positioneerElement
函数放在$(document).ready函数中,问题是否仍然存在?我想知道浏览器是否在加载文档之前评估document.body。
$(document).ready(function() {
function positioneerElement(){
$breedte = (document.body.clientWidth - 1124) / 2;
$('#bg_left').css({
'width': $breedte
});
$('.container').css({
'margin-left': $breedte
});
// your other code, including
positioneerElement();
});
答案 1 :(得分:6)
确保只有在包含$(window).width()
标记后(例如,在准备好的回调中)和/或使用标准模式doctype声明后才调用<body>
。无论如何你应该这样做:Quirks Mode很糟糕。
问题是,要在Quirks模式中读取视口大小,jQuery必须查看document.body.clientWidth
而不是document.documentElement.clientWidth
。如果您尚未启动<body>
,则表示没有document.body
个节点。
答案 2 :(得分:2)
您必须包含jquery.js,而不是jquery.min.js 它看起来像是一些bug 这对我有用
答案 3 :(得分:1)
好吧,根据你给我的信息,可能是身体还没有正确加载。请在此处查看更多详情:http://www.coderanch.com/t/122834/HTML-JavaScript/document-body-null-or-not#606782
我会说更多,但我也同意你需要发布更多代码供我们调试。