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

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


当前回答

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

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

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

其他回答

在PHP中,使用双引号会导致性能略有下降,因为变量名要计算,所以在实际中,我在编写代码时总是使用单引号:

echo "This will print you the value of $this_variable!";
echo 'This will literally say $this_variable with no evaluation.';

所以你可以这样写;

echo 'This will show ' . $this_variable . '!';

我相信Javascript也有类似的功能,所以在性能上有非常小的改进,如果这对你来说很重要的话。


此外,如果你一直查看HTML规范2.0,这里列出的所有标签;

W3 HTML DTD参考

(使用doublequotes。)无论你更经常使用哪一种,一致性都很重要。

我在这里是新手,但我只在第一个里面使用双引号时才使用单引号。如果我不清楚,我给你举个例子:

<p align="center" title='One quote mark at the beginning so now I can
"cite".'> ... </p>

我希望我能帮上忙。

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

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

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

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

w3组织说:

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

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