Javascript 为所有内容添加一个外部js文件?
我有一个HTML页面,我想在上面执行几行js代码。现在我只想尝试一件事:Javascript 为所有内容添加一个外部js文件?,javascript,external,Javascript,External,我有一个HTML页面,我想在上面执行几行js代码。现在我只想尝试一件事: document.getElementById("title").style.color = "blue"; 这在jsPage.js中,在我的html页面的头部 <script src="jsPage.js"></script> 我认为这是所有必要的。但是我的标题保持红色(这是附加到html页面的css文档中设置的),而不是变成蓝色。我是否缺少一些标准声明或js文件中的内容?假设docume
document.getElementById("title").style.color = "blue";
这在jsPage.js中,在我的html页面的头部
<script src="jsPage.js"></script>
我认为这是所有必要的。但是我的标题保持红色(这是附加到html页面的css文档中设置的),而不是变成蓝色。我是否缺少一些标准声明或js文件中的内容?假设
document.getElementById(“title”).style.color=“blue”
位于jsCalc.js
中,在加载窗口后,您很可能不会更改文本颜色
jsCalc.js
的内容应该是
window.onload = function() {
document.getElementById("title").style.color = "blue";
};
因为您无法在加载DOM元素之前更改它们。假设
document.getElementById(“title”).style.color=“blue”
位于jsCalc.js
中,在加载窗口后,您很可能不会更改文本颜色
jsCalc.js
的内容应该是
window.onload = function() {
document.getElementById("title").style.color = "blue";
};
因为您不能在加载DOM元素之前更改它们。很可能,因为您正在文档的头部加载js文件,所以javascript在加载文档之前运行,并且
title
元素存在
有几种方法可以处理它,但最简单的方法是将脚本
声明移到文件的底部,而不是头
,以便在它引用的文档元素之后加载脚本
是确保在加载相关元素后运行javascript的另一种方法。很可能,因为您正在文档头中加载js文件,所以javascript在加载文档之前运行,并且
title
元素存在
有几种方法可以处理它,但最简单的方法是将脚本
声明移到文件的底部,而不是头
,以便在它引用的文档元素之后加载脚本
是确保javascript在相关元素加载后运行的另一种方法。由于
标记位于头部,因此在呈现主体之前执行,因此元素“title”不存在
有更好的方法可以做到这一点,但是将
标记放在
之前应该可以 由于
标记位于头部,它在主体呈现之前被执行,因此元素“title”不存在
有更好的方法可以做到这一点,但是将
标记放在
之前应该可以 如Vince所述:您应该使用window.onload,以便代码执行将等待窗口加载并确保DOM存在
但作为一个附加组件,在主体中加载javascript始终是一个很好的实践。
否则,在获取该文件之前,页面加载将被卡住
在某些情况下,js是从其他服务器加载的,并且需要时间,DOM也不会呈现
而且,您可以使用“延迟”属性将脚本保存在头部本身。这将达到同样的目的。“延迟”确保在完成所有操作后加载它
比如:
<script type="text/javascript" scr="page.js" defer></script>
如Vince所述:您应该使用window.onload,以便代码执行将等待窗口加载并确保DOM存在 但作为一个附加组件,在主体中加载javascript始终是一个很好的实践。 否则,在获取该文件之前,页面加载将被卡住 在某些情况下,js是从其他服务器加载的,并且需要时间,DOM也不会呈现 而且,您可以使用“延迟”属性将脚本保存在头部本身。这将达到同样的目的。“延迟”确保在完成所有操作后加载它 比如:
<script type="text/javascript" scr="page.js" defer></script>
导入脚本时会调用它。因此,如果您在创建id为“title”的元素之前导入此脚本,它将找不到它,并且不会产生任何效果。在导入它时会调用脚本。因此,如果您在创建id为“title”的元素之前导入它,它将找不到它,并且没有任何效果。啊,我明白了,我不明白它是如何工作的。最终,我的js将只具有响应用户操作的功能。所以这应该在头部部分仍然有效,对吗?啊,我明白了,我不明白这是怎么起作用的。最终,我的js将只具有响应用户操作的功能。所以这在头部部分仍然有效,对吗?