手工编写HTML时,我总是使用单引号.我使用大量渲染的HTML,它总是使用双引号.这允许我确定HTML是手写还是生成.这是一个好主意吗?
两者有什么区别?我知道他们都工作并得到所有现代浏览器的支持,但是在不同的情况下,哪一个实际上比另一个更好?
我是PHP中使用双引号的大用户,这样我就可以插入变量而不是连接字符串.因此,当我生成HTML时,我经常使用单引号来设置标记字段.例如:
$html = "<input type='text' name='address' value='$address'>";
Run Code Online (Sandbox Code Playgroud)
现在,这对我来说比任何一个都更具可读性
$html = "<input type=\"text\" name=\"address\" value=\"$address\">";
Run Code Online (Sandbox Code Playgroud)
要么
$html = '<input type="text" name="address" values="' . $address . '">' ;
Run Code Online (Sandbox Code Playgroud)
从简短的搜索中我听到有人说每个浏览器都无法识别HTML字段的单引号.因此,我想知道哪些浏览器在识别单引号HTML时会出现问题?
让我们来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)
我一直认为单引号变体既不受支持也不太"安全",但我无法提供支持该论点的理由.