我一直试图找出为什么我的JavaScript代码不起作用。警报工作正常,但当我尝试写div时它什么也没做。我究竟做错了什么?我一直试图谷歌答案,但这并没有太大的帮助。
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="gamejavascript.js" type="text/javascript"> </script>
<link rel="stylesheet" type="text/css" href="gameStyle.css">
<title>Text Adventure RPG</title>
</head>
<body>
<p>hey </p>
<div id="eventWindow">
<div id="title">Black Forest</div>
<div id="eventContent">You have entered the black forest. Lucky you!</div>
</div>
<div id="itemList">Hey hey hey </div>
<div id="userStat"> </div>
</body>
</html>
我的javascript是
$("p").append("HEY HEYH YEYEHE.");
alert("You madam are a horse!");
$("#userStat").html("Hey baby");
/* var user = function(attack,health)
{
this.attack = attack;
this.health = health;
};
var player = new user(10,100); */
非常感谢你的帮助!
-Brent
答案 0 :(得分:9)
您需要将JavaScript放在关闭正文标记之前的页面末尾或头部并包含在document ready call中。例如:
$( document ).ready(function() {
// your code here
});
jsFiddle example (将代码放在文档末尾)
现在你的方式,你正试图在尚不存在的元素上执行代码。
答案 1 :(得分:5)
将代码包装在document-ready handler并假设已加载jquery
$(document).ready(function() {
$("p").append("HEY HEYH YEYEHE.");
});
答案 2 :(得分:2)
为了使jQuery正常运行,应首先加载html内容。因此,您应该将代码放在文档就绪处理程序中。试试这个:
$( document ).ready(function() {
// put your code here as it is
});