关闭 HTML 脚本标签

2022-01-18 00:00:00 tags html external-js

我只是好奇,如果我像这样编写 <script> 标签,为什么我的 JavaScript 无法运行(在 Firefox 和 IE 中测试):

I just curious why my JavaScript can't run (tested in Firefox and IE) if I write the <script> tag like this:

<script type="text/javascript" src="script.js"/>

如果我将该行更改为:

<script type="text/javascript" src="script.js"></script>

所以我的问题是:为什么我不能关闭开始标签中的 script 标签,因为我里面没有任何内容.

So my question is: why I can't close the script tag in the start tag since I don't have any content inside it.

我的 JavaScript 代码很简单,只是:

My JavaScript code is simple, just:

alert("test");

注意:我检查了firefox错误控制台,没有错误.

Notes: I check firefox error console and no error.

推荐答案

自闭标签的概念是一个XML概念.您不能在 HTML 中使用它们.(您可以在 XHTML 中使用它们,但前提是文档以 XML 内容类型提供,不能t 如果它被用作 text/html).

The concept of self-closing tags is an XML concept. You can't use them in HTML. (You can use them in XHTML, but only if the document is served with an XML content-type, not if it is served as text/html).

在 HTML 中某些元素(例如 <img>)不能有任何内容,因此它们没有结束标签).

In HTML some elements (such as <img>) cannot have any content, so they don't have end tags).

由于脚本可以具有 src 属性或者脚本可以在元素内部,因此 <script> 不是其中之一.

Since a script can have a src attribute or the script be can inside the element, <script> is not one of them.

(HTML 5 允许 / 字符出现在定义为 EMPTY 的元素的开始标记的末尾,但对于沉迷于 XML 的人来说,这只是糖,在语言).

(HTML 5 allows a / character to appear at the end of a start tag for an element that is defined as EMPTY, but it is just sugar for people addicted to XML and has no meaning in the language).

相关文章