在手写HTML时,我总是使用单引号。我使用了很多渲染的HTML,它们总是使用双引号。这使我能够确定HTML是手工编写的还是生成的。这是个好主意吗?

这两者之间有什么区别?我知道它们都可以工作,而且所有现代浏览器都支持它们,但在不同的情况下,其中一种真的比另一种更好吗?


当前回答

w3组织说:

默认情况下,SGML要求使用双引号(ASCII十进制34)或单引号(ASCII十进制39)分隔所有属性值。当属性值由双引号分隔时,可以在属性值中包含单引号,反之亦然。作者还可以使用数字字符引用来表示双引号(")和单引号(')。对于双引号,作者也可以使用字符实体引用"

所以…似乎没什么区别。这取决于你的风格。

其他回答

我知道很多人不会同意,但这就是我所做的,我真的很喜欢这样的编码风格:我实际上在HTML中不使用任何引用,除非绝对必要。

例子:

<form method=post action=#>
<fieldset>
<legend>Register here: </legend>
  <label for=account>Account: </label>
  <input id=account type=text name=account required><br>
  <label for=password>Password: </label>
  <input id=password type=password name=password required><br>
...

双引号只在属性值中有空格时使用:

<form class="val1 val2 val3" method=post action=#>
  ...
</form>

这里有很多很有见地的回复!足以让任何人做出明确的个人决定。

我只想指出一件对我来说一直很重要的事。 对此你要持保留态度!

双引号适用于具有多个相位的字符串,如“one two”,而不是单引号用于“one”或“two”。这可以追溯到C和c++时代。 (参考这里或自己在线搜索)。

这就是真正的区别。

有了这个原则(这是不同的),解析成为可能,如“{{'a','b'},{'x','y'}}或“/[^\r\n]*[\r\n]”(需要与空间无关,因为它是表达式),或更著名的HTML特定的title = "Hello HTML!"或style = "font-family:arial;颜色:# FF0000;“

有趣的是,HTML(来自XML本身)通常采用双引号,这是由于表达式的特征,即使它是单个字符(例如数字)或单个相位字符串。

正如NibblyPig明确指出的那样: 作为第一层和第二层,因为“'a string here'”是有效的,并符合W3标准(适用于web),并且很可能永远不会改变。

为了保持一致性,使用双引号是明智的,但只有根据偏好才完全正确。

w3组织说:

默认情况下,SGML要求使用双引号(ASCII十进制34)或单引号(ASCII十进制39)分隔所有属性值。当属性值由双引号分隔时,可以在属性值中包含单引号,反之亦然。作者还可以使用数字字符引用来表示双引号(&#34;)和单引号(&#39;)。对于双引号,作者也可以使用字符实体引用&quot;

所以…似乎没什么区别。这取决于你的风格。

实际上,最好的方法是谷歌推荐的方法。双引号: https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks

看到https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity HTML_Validity 引用谷歌的建议:“使用有效的HTML是一个可衡量的基准质量属性,有助于了解技术需求和约束,并确保正确使用HTML。”

HTML使用双引号

i.e.

<div class="colorFont"></div>

JavaScript中使用单引号

i.e.

$('#container').addClass('colorFont');
$('<div class="colorFont2></div>');