关于jsp页面中,js代码写在哪个位置的问题。

JavaDoding 2012-06-01 11:00:23
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="${ pageContext.request.contextPath }/js/jquery-1.7.js"></script>
<script type="text/javascript">
var list = document.getElementById("list"); //当我放在这的时候,alert结果为空
alert(list);
var oli = list.getElementsByTagName("li"); //这里如果我把上面改为$("#list"),那么会报没有这个function。
alert(oli);
</script>
</head>
<body>
<div id="div">s</div>
<ul id="list">
<li>
<a href="" title="iphone_ios">苹果</a>
<div class="popDiv">

</div>
</li>
<li>
<a href="" title="安卓_java">google</a>
<div class="popDiv">

</div>
</li>
<li>
<a href="" title="wp">微软</a>
<div class="popDiv">

</div>
</li>
<li>
<a href="" title="mysql">甲骨文</a>
<div class="popDiv">

</div>
</li>
<li>
<a href="" title="全球最大的社交网站">facebook</a>
<div class="popDiv">

</div>
</li>
</ul>
<script type="text/javascript">
var list = document.getElementById("list"); //放在这里就能拿到。
alert(list);
var oli = list.getElementsByTagName("li");
alert(oli);
</script>
</body>
</html>

把js代码,放在上面和下面有什么区别呢?
...全文
3714 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
猿敲月下码 2012-06-01
  • 打赏
  • 举报
回复
1L正解,DOM树是自上而下顺序加载的,如果在head里面直接运行js代码的话,这个时候body部分还没加载,这样就会取不到里面的元素

通常是等到DOM树全部加载完后在执行js
window.onload=function(){
///...
}

$(function(){
//...
})
dxndsc 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html……
[/Quote]



给力
在路上_等你 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

js操作dom,需要等dom加载完毕后才可以进行操作。

写在上面也可以
window.onload = function(){
// your code
}
意思就是 等 页面 加载完毕在执行js
[/Quote]
正解
三石-gary 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

js操作dom,需要等dom加载完毕后才可以进行操作。

写在上面也可以
window.onload = function(){
// your code
}
意思就是 等 页面 加载完毕在执行js
[/Quote]
+11
001007009 2012-06-01
  • 打赏
  • 举报
回复
js操作dom,需要等dom加载完毕后才可以进行操作。

写在上面也可以
window.onload = function(){
// your code
}
意思就是 等 页面 加载完毕在执行js

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧