在手写HTML时,我总是使用单引号。我使用了很多渲染的HTML,它们总是使用双引号。这使我能够确定HTML是手工编写的还是生成的。这是个好主意吗?
这两者之间有什么区别?我知道它们都可以工作,而且所有现代浏览器都支持它们,但在不同的情况下,其中一种真的比另一种更好吗?
在手写HTML时,我总是使用单引号。我使用了很多渲染的HTML,它们总是使用双引号。这使我能够确定HTML是手工编写的还是生成的。这是个好主意吗?
这两者之间有什么区别?我知道它们都可以工作,而且所有现代浏览器都支持它们,但在不同的情况下,其中一种真的比另一种更好吗?
当前回答
我知道很多人不会同意,但这就是我所做的,我真的很喜欢这样的编码风格:我实际上在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>
其他回答
用"而不是'当:
<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没有区别,但如果你用另一种编程语言动态生成html,那么一种方法可能比另一种更容易。
例如,在Java中,双引号用来表示字符串的开始和结束,所以如果你想在字符串中包含双引号,你必须用反斜杠来转义它。
String s = "<a href=\"link\">a Link</a>"
单引号就不存在这样的问题,因此使用单引号可以使Java中的代码更具可读性。
String s = "<a href='link'>a Link</a>"
特别是当您必须编写具有许多属性的html元素时。(注意,我通常使用jhtml这样的库在Java中编写html,但这样做并不总是实际的)
我知道很多人不会同意,但这就是我所做的,我真的很喜欢这样的编码风格:我实际上在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>
如果都是一样的,也许使用单引号更好,因为它不需要按住shift键。按键次数越少=重复劳损的几率越小。
我有一个问题与Bootstrap,我不得不使用双引号,因为单引号不起作用。
Class ='row-fluid'使得最后一个<span>落在另一个<span>的下面,而不是很好地坐在它们的最右边。类= " row-fluid”工作。