Est-il correct d'utiliser des apostrophes pour les attributs HTML?
Récemment, j'ai vu beaucoup de ceci:
<a href='http://widget-site-example.com/example.html'>
<img src='http://widget-site-example.com/ross.jpg' alt='Ross's Widget' />
</a>
Est-il valable d'utiliser les guillemets simples en HTML? Comme je l'ai souligné ci-dessus, il est également problématique, car vous avez à s'échapper les apostrophes.
Vous devez vous connecter pour publier un commentaire.
C'est certainement valable d'utiliser les guillemets simples (HTML 4.01, la section 3.2.2). Je n'ai pas remarqué cette tendance, mais peut-être il y a un certain cadre qui alimente les sites web que vous avez visitées qui arrive à citer l'utilisation des guillemets simples.
Je trouve l'utilisation des guillemets simples est à portée de main lors de la génération dynamique de code HTML à l'aide d'un langage de programmation qui utilise des guillemets doubles littéraux de chaîne.
par exemple
Lors de l'utilisation de PHP pour générer du HTML, il peut être plus facile de faire quelque chose comme:
que la concaténation d'une chaîne de caractères à une variable une chaîne de caractères, comme PHP traite les variables en double-chaînes entre guillemets.
$html = '<img src="'.$url.'" />'
sprintf('<img src="%s" />', $url)
Quelqu'un peut l'utiliser en PHP pour éviter de s'échapper " si elles sont à l'aide de la double chaîne de caractères entre guillemets pour analyser les variables qu'il contient, ou pour éviter d'utiliser opérateur de concaténation de chaîne.
Exemple:
au lieu de
ou
Aujourd'hui, j'ai toujours coller à l'aide de guillemets doubles pour le HTML et les guillemets simples pour Javascript.
C'est plus facile lorsque vous souhaitez incorporer des guillemets doubles.
Reponse.Write(String.Format("<script src='/js/myjs.js?{0}' type=text/javascript></script>", MakeUniqueStringFun()));
Cet exemple serait mieux si elle ne fonctionnera pas aussi bien comme ça:<script src='/js/myjs.js?<%=MakeUniqueStringFun()%>' type=text/javascript></script>
mais on n'est pas vraiment plus correct que les autres et il devrait être évident que plus les extraits de JS devenir lourd à l'aide de la plus tard de la méthode.Dans ASP.NET il est plus facile d'utiliser les guillemets simples si vous utilisez expressions de liaison de données dans les attributs:
Guillemets simples sont parfaitement légales en (X)HTML. À l'aide d'une barre oblique inverse de leur échapper, d'autre part, n'est-ce pas.
<img src='http://widget-site-example.com/ross.jpg' alt='Ross\'s Widget' />
est une image avec le texte alt "Ross\", et vides
etWidget
/Widget'
attributs. Le bon moyen d'échapper à une apostrophe dans le HTML est'
.En PHP echo prend de multiples paramètres. Donc, si on veut omettre l'opérateur de concaténation, ils pourraient faire quelque chose comme et encore d'utiliser des guillemets :
Guillemets simples générer un nettoyeur de page avec moins d'encombrement. Vous ne devriez pas y échapper dans les chaînes HTML et il est de votre choix pour l'utiliser... ma préférence est apostrophes normalement et si j'ai besoin d'un devis dans la chaîne (par exemple, en tant que séparateurs pour une chaîne à l'intérieur de la chaîne), j'utilise des guillemets doubles pour un & unique pour les autres.
Si vous voulez le html pour être valide html4 ou xhtml les deux unique-devis ou double-quotes de travail pour les attributs. HTML4 peut être validée ici: https://validator.w3.org/
Si vous êtes prenant uniquement en charge les navigateurs modernes (ie10 et plus), alors vous pouvez utiliser le html5 la syntaxe qui permet de guillemets simples, les guillemets doubles, et pas de guillemets (tant qu'il n'y a pas de caractères spéciaux dans les attributs de la valeur). HTML5 peut être validée ici: https://validator.w3.org/nu
Ce qui est contre les apostrophes?
Vous pouvez avoir simple/double guillemets partout dans votre code html sans aucun problème, tant que vous gardez le même citant le style à l'intérieur d'un courant de balises ( beaucoup de navigateur ne va pas se plaindre, même à ce sujet, et la validation veux juste que si vous commencez avec une citation à la fin avec même, à l'intérieur même de la bienséance )
Une aide gratuite aux aléatoire citant les styles!!! (yay ;D )
Je sais que c'est un vieux thread, mais encore très pertinent.
Si vous souhaitez garder le contrôle sur les citations dans votre code HTML généré, vous pouvez utiliser le sprintf() fonction en PHP (et des appels similaires disponibles dans de nombreuses autres langues):
En utilisant sprintf() permet à la chaîne de format pour être facilement modifiable par la récupération à partir d'une base de données ou un fichier de configuration, ou par l'intermédiaire de mécanismes de conversion.
Il est très lisible, et permet soit simple ou double guillemets dans le code HTML généré, avec très peu de changement et de jamais s'échapper:
Pourquoi ne pas enregistrer appuyer sur la touche MAJ Clé. Un de moins de touches pour le même kilométrage.
Un autre cas où vous souhaiterez peut-être utiliser des guillemets simples: Stockage de données JSON dans les attributs de données:
Objet JSON clés doivent être entre guillemets doubles, de sorte que l'attribut lui-même ne le peut pas.
Vous devriez éviter de citations au total.
Dans votre exemple, une seule cité attribut vraiment besoin de guillemets.
Si vous utilisez des guillemets, il n'y a aucune règle dure et rapide, mais j'ai vu plus souvent des guillemets simples, avec des guillemets à l'intérieur si nécessaire.
L'aide de guillemets doubles ne passera pas que des validateurs.