jquery の html() メソッドを使用する場合、内部に追加された html コードに特殊文字が含まれているため、エスケープする必要がある場合があります。
以下の例:
1 2 3 4 | inst_html = "<a style=color:white' onmouseover = '" ;
inst_html += "javascript:showme('" +inst.instId+ "_" +valId+ "');" ;
inst_html += "' " ;
$( "#inst_div_" +valId).html(inst_html);
|
ログイン後にコピー
ログイン後にコピー
このように直接書くと、ChromeやFFブラウザでは問題ありませんが、IE8ではエラーが報告されます。
解決策は、JavaScript の 'escape' を ' に変更して、エラーが報告されないようにすることです。
上記の例は次のように変更されます:
1 2 3 4 | inst_html = "<a style=color:white' onmouseover = '" ;
inst_html += "javascript:showme('" +inst.instId+ "_" +valId+ "');" ;
inst_html += "' " ;
$( "#inst_div_" +valId).html(inst_html);
|
ログイン後にコピー
ログイン後にコピー
一部の文字は次のようにエスケープされます:
•&記号: "&"、"&"
• 二重引用符: """、"""
•小なり記号: "<"、"