web-dev-qa-db-fra.com

Citations simples vs doubles ('vs ") 

J'ai toujours utilisé des guillemets simples lorsque j'écris mon code HTML à la main. Je travaille avec beaucoup de rendu HTML qui utilise toujours des guillemets doubles. Cela me permet de déterminer si le code HTML a été écrit à la main ou généré. Est-ce une bonne idée?

Quelle est la différence entre les deux? Je sais qu'ils fonctionnent tous les deux et sont pris en charge par tous les navigateurs modernes, mais existe-t-il une différence entre l'un et l'autre qui sont réellement meilleurs que l'autre dans différentes situations?

223
ctrlShiftBryan

Le w3 org dit :

Par défaut, SGML exige que toutes les valeurs d'attribut soient délimitées à l'aide de guillemets doubles (ASCII décimal 34) ou de guillemets simples (ASCII décimal 39). Les guillemets simples peuvent être inclus dans la valeur d'attribut lorsque la valeur est délimitée par des guillemets doubles, et inversement. Les auteurs peuvent également utiliser des références de caractères numériques pour représenter les guillemets doubles (") et les guillemets simples ('). Pour les guillemets doubles, les auteurs peuvent également utiliser la référence à l'entité de caractère ".

Alors ... semble ne faire aucune différence. Cela dépend de votre style.

372
Aito

J'utilise " comme niveau supérieur et ' comme deuxième niveau, comme je suppose que la plupart des gens le font. Par exemple

<a href="#" onclick="alert('Clicked!');">Click Me!</a>

Dans cet exemple, vous devez utiliser les deux, c'est inévitable.

61
NibblyPig

En HTML, je ne crois pas que le fait d’utiliser " ou ' soit important, mais il devrait être utilisé de manière cohérente dans l’ensemble du document.

Mon propre usage préfère que les attributs/html utilisent ", alors que tout le javascript utilise ' à la place.

Cela me facilite un peu la lecture et la vérification. Si votre utilisation est plus logique que la mienne, aucun changement n'est nécessaire. Mais, pour moi, votre code serait se sentirait en désordre. C'est personnel, c'est tout.

11
David Thomas

Si tout est identique, utiliser des guillemets simples est peut-être préférable, car il n'est pas nécessaire de maintenir la touche Maj enfoncée. Moins de frappes == moins de risque de RSI.

11
stko

En fait, le meilleur moyen consiste à suivre les recommandations de Google. Guillemets doubles: https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Quotation_Marks#HTML_Quotation_Marks

Voir https://google.github.io/styleguide/htmlcssguide.xml?showone=HTML_Validity#HTML_Validity Conseils cités de Google: "L'utilisation d'un code HTML valide est un attribut de qualité de base mesurable qui contribue à l'apprentissage technique exigences et contraintes, et qui garantit une utilisation correcte du HTML. "

7
Stuart

Je sais que BEAUCOUP de personnes ne seraient pas d'accord, mais c'est ce que je fais et j'apprécie vraiment un tel style de codage: en fait, je n'utilise aucune citation en HTML, sauf si cela est absolument nécessaire.

Exemple:

<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>
...

Les guillemets doubles ne sont utilisés que lorsqu'il y a des espaces dans les valeurs d'attribut ou quoi que ce soit:

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

Utiliser des guillemets doubles pour HTML

c'est à dire.

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

Utiliser des guillemets simples pour JavaScript

c'est à dire.

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

J'ai eu un problème d'utilisation de Bootstrap, où l'utilisation de guillemets doubles importait réellement par rapport à l'utilisation de guillemets simples (ce qui n'a pas fonctionné). class = 'row-fluid' m'a causé des problèmes entraînant la chute de la dernière plage en dessous des autres, plutôt que de rester assis à l'extrême droite, alors que class = "row-fluid" fonctionnait.

2
MikeP

Utiliser "au lieu de" quand:

<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

Utiliser 'au lieu de "quand:

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

Cela ne fait aucune différence pour le code HTML, mais si vous générez du code HTML dynamiquement avec un autre langage de programmation, une méthode peut s'avérer plus simple que l'autre.

Par exemple, dans Java , la citation double est utilisée pour indiquer le début et la fin d'une chaîne. Par conséquent, si vous souhaitez inclure une citation double dans la chaîne, vous devez l'échapper avec une barre oblique inversée.

String s = "<a href=\"link\">a Link</a>"

Le guillemet simple ne pose pas ce problème. Par conséquent, son utilisation rend le code plus lisible en Java. 

String s = "<a href='link'>a Link</a>"

Surtout si vous devez écrire des éléments HTML avec de nombreux attributs (notez que j'utilise généralement une bibliothèque telle que jhtml pour écrire du HTML en Java, mais ce n'est pas toujours pratique). 

1
Paul Taylor

si vous écrivez asp.net, vous devez parfois utiliser des guillemets doubles dans les instructions Eval et des guillemets simples pour délimiter les valeurs - ceci est principalement pour que le code en ligne C # le sache en utilisant une chaîne dans le conteneur eval plutôt qu'un caractère. Personnellement, je n’utiliserais que l’un ou l’autre comme standard et je ne les mélangerais pas, c’est désordonné, c’est tout.

1
Mauro

Je suis débutant ici, mais j'utilise un guillemet simple uniquement lorsque j'utilise un guillemet double dans le premier Si je ne suis pas clair, je vous montre un exemple:

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

J'espère que j'ai aidé.

0
Marcin C