HTMLとして出力されたときにこのJavaScriptが正しく表示されないのはなぜですか?このJavaScript HTMLを正しくエスケープしていませんか?
var innerHtml =
"<div style='color:yellow;font: 14px//14px /'Lucida Grande/',sans-serif;'>";
正しくエスケープしませんか?
HTMLとして出力されたときにこのJavaScriptが正しく表示されないのはなぜですか?このJavaScript HTMLを正しくエスケープしていませんか?
var innerHtml =
"<div style='color:yellow;font: 14px//14px /'Lucida Grande/',sans-serif;'>";
正しくエスケープしませんか?
/
でなければなりません\
var innerHtml =
"<div style=\"color:yellow;font: 14px/14px 'Lucida Grande',sans-serif;\">"
(あなたが二重引用符"
をして引用しているよう)あなたはスラッシュ(/
)を前方にエスケープする必要はなく、また('
)を単一引用符をエスケープする必要もありません。 。バックスラッシュはエスケープ文字(\
)
var innerHTML = '<div style="color:yellow; font: 14px/14px "Lucida Grande", sans-serif;">';
となります。 HTML出力に二重引用符を使用させることを好みます(JavaScriptでは重要ではありませんが、一貫性のあるものです)。
HTMLに編集すると、フォントファミリの引用符をエスケープします。
同じスタイルの引用符が 'style'宣言全体に使用されているので、' font-face'引用符をエスケープしてはいけませんか? –
@Sean Vieiraはい、あなたは正しいです。引用符をHTMLエンコードするのを忘れました。 – zzzzBov
-1あなたは本当に彼が設定していたものを見ていませんでした。 'font'は' font-size/line-height'を使います。バックスラッシュは必要ありません。 – zzzzBov
@zzzzBov - 良い点!私は私の答えを更新しました。ありがとう! –