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

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


当前回答

用"而不是'当:

<input value="user"/> //Standard html
<input value="user's choice"/> //Need to use single quote
<input onclick="alert('hi')"/> //When giving string as parameter for javascript function

在以下情况下用'代替":

<input value='"User"'/> //Need to use double quote
var html = "<input name='username'/>" //When assigning html content to a javascript variable

其他回答

实际上,最好的方法是谷歌推荐的方法。双引号: 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。”

如果你正在编写asp.net,那么偶尔你必须在Eval语句中使用双引号,在值分隔中使用单引号——这主要是为了让c#内联代码知道它在Eval容器中使用的是字符串而不是字符。就我个人而言,我只使用其中一种作为标准,而不是混合使用,这样看起来很乱。

用"而不是'当:

<input value="user"/> //Standard html
<input value="user's choice"/> //Need to use single quote
<input onclick="alert('hi')"/> //When giving string as parameter for javascript function

在以下情况下用'代替":

<input value='"User"'/> //Need to use double quote
var html = "<input name='username'/>" //When assigning html content to a javascript variable

在HTML中,我认为使用"还是'并不重要,但它应该在整个文档中一致使用。

我自己的使用更倾向于attributes/html使用',而所有的javascript使用'。

这对我来说,阅读和检查起来稍微容易一些。如果你的使用比我的更有意义,那就没必要改变。但是,对我来说,您的代码会让人感到混乱。这只是个人问题。

如果都是一样的,也许使用单引号更好,因为它不需要按住shift键。按键次数越少=重复劳损的几率越小。