Close HTML Script Tag [duplicate]

2019-04-03 10:49发布

问题:

This question already has an answer here:

  • Why don't self-closing script tags work? 11 answers

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"/>

It will work if I change that line to:

<script type="text/javascript" src="script.js"></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.

My JavaScript code is simple, just:

alert("test");

Notes: I check firefox error console and no error.

回答1:

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).

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

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

(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).



回答2:

maybe u are using HTML 5 doctype, use html 4 doctype for this