2010-12-16 157 views
1

Comment éviter les guillemets doubles dans un gestionnaire d'événements en HTML? Par exemple, comment j'échappe correctement au code bar, qui est un littéral de chaîne, dans le code suivant?Échapper des guillemets doubles dans les gestionnaires d'événements HTML

<button onclick="foo("bar")")>Click Me</button> 

Je ne peux pas utiliser de guillemets simples pour la valeur d'attribut puisque j'utilise XHTML. Je pourrais utiliser des guillemets simples pour les littéraux de chaîne, mais j'aimerais être cohérent.

Répondre

1
<button onclick="foo(&quot;bar&quot;);">Click Me</button> 

Et, vous pouvez les mélanger bien en XHTML, essayez ceci dans le W3 validator:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>foo</title> 
</head> 
<body> 
<div onclick='bar("foo");'></div> 
</body> 
</html> 

Il y a quelques tutoriels qui dit des guillemets simples ne sont pas valides, mais ils ne sont pas corrects.

+2

Etes-vous sûr que fonctionne? Pas de chance pour moi. –

+0

@ Tom Tucker: Merci pour la correction, j'ai foiré avec d'autres langues. J'ai édité mon post. –

+1

BTW, j'ai voté votre réponse, mais quelqu'un l'a rejeté, d'où zéro. :( –

1

XHTML préfère les guillemets doubles autour des attributs. Mais vous pouvez toujours utiliser des guillemets simples dans la valeur. Le suivi est par exemple XHTML 1.0 Strict

<button onclick="foo('bar')">Click Me</button> 

Je suggère à la recherche dans progressive enhancement et se éloignant des attributs du comportement.