单引号和双引号html属性之间的功能差异是什么?

Jud*_*red 4 html c#

让我们来sEncodedHref代表一个HttpUtility.HtmlAttributeEncode(..)'d字符串.

生成的html之间是否有任何功能差异,如下所示:

String.Format(@"<span class='blue' src='{0}'>", sEncodedHref);
Run Code Online (Sandbox Code Playgroud)

与生成的HTML这样:

String.Format(@"<span class=""blue"" src=""{0}"">", sEncodedHref);
Run Code Online (Sandbox Code Playgroud)

我一直认为单引号变体既不受支持也不太"安全",但我无法提供支持该论点的理由.

Dan*_*llo 9

没有功能差异.在SGML和HMTL上引用W3C:

默认情况下,SGML要求使用双引号(ASCII十进制34)或单引号(ASCII十进制39)分隔所有属性值.当值由双引号分隔时,单引号可以包含在属性值中,反之亦然.

...

在某些情况下,作者可以指定没有任何引号的属性值.属性值可能只包含字母(az和AZ),数字(0-9),连字符(ASCII十进制45),句点(ASCII十进制46),下划线(ASCII十进制95)和冒号(ASCII十进制58).我们建议使用引号,即使可以消除它们.