2010-12-16 12 views
1

Wie entkomme ich doppelte Anführungszeichen in einem Ereignishandler in HTML?Doppelte Anführungszeichen in HTML-Ereignishandlern umgehen

Zum Beispiel, wie kann ich die bar, die eine Zeichenfolge Literal ist, im folgenden Code ordnungsgemäß entkommen?

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

Ich kann nicht einfache Anführungszeichen für den Attributwert verwenden, da ich XHTML bin. Ich könnte einfache Anführungszeichen für String-Literale verwenden, aber ich möchte konsistent sein.

Antwort

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

Und man kann sie in der Tat in XHTML mischen, versuchen Sie dies in der 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> 

Es gibt einige Tutorials, die die einfache Anführungszeichen nicht gültig sind, aber sie sind nicht korrekt.

+2

Sind Sie sicher, funktioniert? Kein Glück für mich. –

+0

@Tom Tucker: Danke für die Korrektur, ich habe mit anderen Sprachen versaut. Ich habe meinen Beitrag bearbeitet. –

+1

Übrigens, ich habe Ihre Antwort gewählt, aber jemand hat sie abgelehnt, also null. :( –

1

XHTML bevorzugt doppelte Anführungszeichen um die Attribute. Sie können jedoch immer noch einfache Anführungszeichen innerhalb des Werts verwenden. Der Nachfolger zum Beispiel ist XHTML 1.0 Strict

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

würde ich vorschlagen, in progressive enhancement suchen und bewegt sich weg von den Verhaltensattribute.

Verwandte Themen