求助JS问题。

<!doctype html>
<html>
<head>
<meta charset="gb2312">
<title></title>
<meta name="Keywords" content="" >
<meta name="Description" content="" >
<link href="css/index.css" rel="stylesheet">
<script src="js/pic.js"></script>
<script>
var Onav=document.getElementById("nav2");
alert(Onav);//为什么会弹出null呢。
</script>
<!--[if lt IE 9]>
<script src="js/modernizr.js"></script>
<![endif]-->
<!--[if IE 6]>
<script src="js/png.js"></script>
<script type="text/javascript">

EvPNG.fix('.logo');

</script>
<![endif]-->
</head>
<body>
<ul class="nav2" id="nav2" >
<li>机构简介</li>
<li>机构设置</li>
</ul>
</body>
</html>

阅读 2.5k
4 个回答

运行到这里的时候, ul#nav2 还没挂载呢

var Onav=document.getElementById("nav2"); 

把这段代码放在</body>前,或用 window.onload(function () { // 写在这里 }) 包裹以确保DOM已经挂载。

因为先加载了js代码,下面的元素还没有加载。把你的script标签放到body底部试试

浏览器解析过程,加载JS会阻塞HTML渲染。

window.onload=function{ }

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏