Defering javascript - what is the correct html syntax defer or defer=“defer”

梦想的初衷 提交于 2019-11-29 14:42:26

defer is a boolean attribute [HTML 4.01 spec]:

Some attributes play the role of boolean variables (e.g., the selected attribute for the OPTION element). Their appearance in the start tag of an element implies that the value of the attribute is "true". Their absence implies a value of "false".

[...]

In HTML, boolean attributes may appear in minimized form -- the attribute's value appears alone in the element's start tag. Thus, selected may be set by writing:

<OPTION selected>

instead of:

<OPTION selected="selected">

Authors should be aware that many user agents only recognize the minimized form of boolean attributes and not the full form.

However, if you use XHTML, you have to use the second form since XHTML follows XML syntax where attributes always have to have a value.

Since you reference HTML 4.01:

This is a Boolean Attribute. Both forms are correct, but the specification recommends the former.


If you were using XHTML then you would have to use the longer version.

HTML 5 also allows both versions and removes the recommendation to use one over the other (since for compatibility with XHTML served as text/html, all modern browsers can handle both syntaxes).

HTML 5.1 nightly

2.4.2 Boolean attributes

A number of attributes are boolean attributes. The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.

If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace.

so defer is right, and so is defer="defer" and defer="DeFeR" and defer=""

The async and defer attributes are boolean attributes that indicate how the script should be executed. The defer and async attributes must not be specified if the src attribute is not present.

https://www.w3.org/TR/html5/scripting-1.html#attr-script-defer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!