Javascript 获取.js文件中的脚本以在HTML中加载

Javascript 获取.js文件中的脚本以在HTML中加载,javascript,css,html,Javascript,Css,Html,我用javascript编写了一个简单的版权脚本,经过测试,该脚本工作正常: var初始年份=2016年; var currentYear=新日期().getFullYear(); var yearYext=“null” 如果(初始年份==当前年份) { yearText=“”+初始年份+”; } 如果(初始年份!=当前年份) { yearText=“”+初始年份+“-”+当前年份; } var版权={ 姓名:“Elliander Eldridge”, 符号:'\u00A9', 年份:年文

我用javascript编写了一个简单的版权脚本,经过测试,该脚本工作正常:


var初始年份=2016年; var currentYear=新日期().getFullYear(); var yearYext=“null” 如果(初始年份==当前年份) { yearText=“”+初始年份+”; } 如果(初始年份!=当前年份) { yearText=“”+初始年份+“-”+当前年份; } var版权={ 姓名:“Elliander Eldridge”, 符号:'\u00A9', 年份:年文本, }; document.getElementById(“页脚”).innerHTML= “版权”+版权.symbol+“”+版权.year+“”+版权.name +“。保留所有权利。”;
您的js代码在开始时被调用,甚至在加载HTML内容并尝试查找页面上显然不存在的
页脚之前

一旦DOM就绪,即加载HTML,您只需调用js

<p id="footer"></p>
...
... 
// and at the end of the page
<script src="../js/site.js"> </script>
哦,还有,这是不正确的

<script src="../js/site.js">   
<p id="footer"></p>
</script>

这确保javascript代码仅在加载DOM后运行

在加载DOM后,尝试将脚本标记
放在页面末尾。我认为问题在于js的运行,但是由于DOM没有加载,所以它找不到
footer
如果
js
目录与调用它的html页面的目录相同,那么在开始时就不需要
。/
。这没有帮助,是的,对于索引页面,我尝试了它,因为索引是顶级的。js文件夹中没有HTML页面。所有其他HTML页面都在HTML文件夹中。当然,脚本本身不会在屏幕上显示任何内容。应该由

来完成。因此,如果将.js加载到页面底部,是否会阻止该行工作?在这种情况下,输出将是空白的?我不明白。为了让js找到elementbyID,元素必须存在。因此,在页面加载后调用js,是的,它会正常工作。还可以在这个块中插入js代码:
$(document).ready(function(){})不幸的是,这不起作用。当你说“在结尾”时,你是指在结尾之后还是在结尾之前?因为我试了3个。我不确定document ready函数应该做什么,你能解释一下吗?它为什么有用?它应该在
标记之前<代码>$(document).ready(函数(){codegosher;})
是一个
jQuery
函数,在DOM完成加载后运行,也就是说,所有html元素都可以修改了。为了使用它,您需要导入jquery,您可以将它粘贴到“`tag:(也可以粘贴到脚本标记之前):
哦,是的,我不能使用jquery。我写了一半自己的网站,但一半是为了大学作业而做的,我花了这么多时间测试,确保脚本本身工作,我没有考虑过让他们加载的问题。这应该是能够工作的,不管怎样。“它遵循我能找到的每一本教科书的例子,只是不起作用。”埃利安德检查我的编辑。因为您不想使用jquery
<p id="footer"></p>
...
... 
// and at the end of the page
<script src="../js/site.js"> </script>
document.addEventListener('DOMContentLoaded', function() {
   // put your code here
}, false);