我想将javascript代码与html代码隔离在两个不同的文件中,最初我有以下代码:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<p id="body">HTML Text</p>
</body>
</html>
<script>
$(document).ready(function () {
$("#body").text("JS Text");
});
</script>
和<-p->的输出是预期的“ JS文本”。
然后我尝试将js脚本隔离到另一个文件( script.js ):
window.onload = function(){
var text = document.getElementById('body');
text.innerHTML ='JS Text';
}
我也在html文件中进行了引用:
<script type="text/javascript"src="scripts.js"></script>
但是输出的文本不再是(JS Text)而是(HTML文本)
我还需要什么使js脚本重新工作?
答案 0 :(得分:1)
首先,在结束HTML标记后放置任何内容都是无效的,因此在您的第一段代码起作用时,它是无效的。
如果您删除JavaScript并将其放在其自己的文件中,只要您正确引用该文件(使用相对引用并在Web服务器上测试该文件)并将{{1} }元素放在结束script
标签之前,以便在处理脚本并尝试找到正确的DOM元素时,届时将已加载DOM。
仅供参考:
body
文件中包含JQuery,则您的
引用JQuery的script
必须先出现在HTML中
到使用它的script
。script
标签中不需要type
属性
几年。script
并不是一个好主意,这样就不会引起
与body
元素混淆。body
包含任何HTML。 .innerHTML
具有安全性和性能
含义。请改用.innerHTML
。
.textContent