在register.js中我有一个名为username()的函数,我想从我的网页上调用它,但函数不会运行。
这是我包含.js文件并调用函数的地方:
<head>
<link rel="stylesheet" href="css/base.css" />
<script src="resources/jquery-1.8.1.min.js"></script>
<script src="resources/register.js"></script>
<script type="text/javascript">username();</script>
</head>
这是在.js文件中:
function username(){
document.getElementById("username").innerHTML="Username already in use";
}
答案 0 :(得分:2)
您没有ID为username
的元素。
(您可能在文档中有一个较低的版本,您尚未与我们分享,但由于您直接调用该函数(而不是响应某个事件,例如load
)在<head>
它将不存在。)
答案 1 :(得分:2)
这是刚从Javascript开始的人们常犯的错误。麻烦的是,如果你不知道该怎么称呼它,很难找到答案。
发生了什么:处理<head>
元素时,文档正文中还没有任何内容。您的元素username
不存在,因此getElementById
失败。
解决方案1 将<script type="text/javascript">username();</script>
移至</body>
之前,以便一切就绪。
解决方案2 使用onload
事件在其他所有内容运行后运行您的Javscript
<body onload="username()">
(jQuery也有自己的onload
事件处理。)