在 HTML 属性中使用单引号括起来的值是否可接受?

19

在HTML属性值中是否可以使用单引号,例如:

Is it acceptable to use single quotes around html attribute values like this:
<span class='classname'>Hi</span>

使用这样的双引号:

<span class="classname">Hi</span>

谁定义什么是可以的?W3C吗?


2
至少有两个与此相关的问题:https://dev59.com/DHVC5IYBdhLWcg3wfxU8 和 https://dev59.com/80_Sa4cB1Zd3GeqP_lfl。 - PleaseStand
3个回答

22

是的,这是可以接受的。它适用于浏览器,并且符合规范。

HTML5 规范说:

在 HTML 语法中,属性可以以以下四种不同方式指定:

  1. 空属性语法
  2. 未带引号的属性值语法
  3. 单引号属性值语法
  4. 双引号属性值语法

HTML4 规范说:

默认情况下,SGML 要求所有属性值都使用双引号(ASCII 十进制码 34)或单引号(ASCII 十进制码 39)括起来。当属性值由双引号括起来时,单引号可以包含在属性值内,反之亦然。


这是一个可以接受的答案吗?HTML5不再正式基于SGML,即使如此,您也没有指定HTML是否使用此默认模式。 - fabspro
奇怪,我甚至不记得写这个答案了(而我通常都会记得)。我已经更新了它。 - thirtydot
非常好的编辑。我只是评论了一下,因为我在谷歌搜索中找到了这个,而且我想其他人可能也会感兴趣。 - fabspro

0

单引号一直都是符合W3规范的,它只不过是一个标记/代码样式的选择而已。


0

是的,W3C发布HTML标准。

他们还在http://validator.w3.org/提供验证器。

该验证器对XHTML 1.0 Strict都可以使用。

有几种HTML标准,因此“可接受”完全取决于您使用的标准。此外,协作项目可能具有定义使用其中一种的编码风格。即使HTML标准也允许',但使用"是事实上的标准。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接