如何从html代码中隔离js脚本?

时间:2019-05-23 22:16:43

标签: javascript html

我想将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脚本重新工作?

1 个答案:

答案 0 :(得分:1)

首先,在结束HTML标记后放置任何内容都是无效的,因此在您的第一段代码起作用时,它是无效的。

如果您删除JavaScript并将其放在其自己的文件中,只要您正确引用该文件(使用相对引用并在Web服务器上测试该文件)并将{{1} }元素放在结束script标签之前,以便在处理脚本并尝试找到正确的DOM元素时,届时将已加载DOM。

仅供参考:

  • 如果引用的body文件中包含JQuery,则您的 引用JQuery的script必须先出现在HTML中 到使用它的script
  • script标签中不需要type属性 几年。
  • 命名script并不是一个好主意,这样就不会引起 与body元素混淆。
  • 当您使用的字符串不存在时,请不要使用body 包含任何HTML。 .innerHTML具有安全性和性能 含义。请改用.innerHTML

.textContent