<html>
<head>
<SCRIPT language=JavaScript src="js/jquery-1.3.1.js"></SCRIPT>
</head>
<body>
<span id="aa">aaaa</span><SCRIPT language=JavaScript>
var aa=$("#aa").val();
var cc=$("#aa").html();
var bb=$("#aa").text();
alert(aa);
alert(bb);
alert(cc);
</script>
</body>
</html>问题出在html是从上往下解析的,在解析到你js里的$("#aa")时,下面这个span还不存在,当然就undefined了。js在下面解析,span就有了。另外,jquery的做法是用ready函数包含这些代码,放哪就无所谓了。它的作用就是在加载完整个页面后才执行包含的js。