为什么我的函数不按预期在文档加载上运行?

时间:2012-08-06 22:08:00

标签: javascript html height

此代码应设置元素高度;但是没有添加样式。我错过了一些明显的东西吗?

function setGround() { 
    document.getElementById('content').style.height = '40px';
} 

document.onload = setGround; 

HTML非常基础:

<!DOCTYPE html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Template</title>
    <link rel="stylesheet" type="text/css" href="css/default.css"/>
    <link rel="stylesheet" type="text/css" href="css/orange.css"/>
    <script type="text/javascript" src="javascript/detect-css.js"></script>
</head>

<body>
    <header>
        <div id="logo"></div>
    </header>
    <section id="sidebar"><p>sf </p>
    </section>

    <section id="content"><p>sf </p>
    </section>

</body>
</html>

感谢您的帮助!

4 个答案:

答案 0 :(得分:4)

请勿使用document.onload代替window.onload

请参阅http://jsfiddle.net/mowglisanu/r6NzE/

答案 1 :(得分:2)

你可以用这个:

function setGround() { 
    document.getElementById('content').style.height = '40px';
} 
document.onload = setGround;

但如果您想要查看更改,则应使用以下命令在section标记上创建边框:

<section id="content" style='border:1px solid fuchsia;' >
<p>sf </p>
</section>     

答案 2 :(得分:1)

你应该使用

window.onLoad = setGround; 

而不是

document.onload = setGround;

答案 3 :(得分:0)

你在哪里放置了javascript代码?它在detect-css.js中吗?

这有效:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Template</title>
<link rel="stylesheet" type="text/css" href="css/default.css"/>
<link rel="stylesheet" type="text/css" href="css/orange.css"/>
<script language="javascript">
function resize(){
document.getElementById("content").style.height='100px';
}
</script>
</head>

<body onload="resize()">
<header><div id="logo"></div></header>
<section id="sidebar"><p>sf </p>
</section>

<section id="content" style="background-color:#CCC; display:block;"><p>sf </p>
</section>

</body>
</html>