在使用jquery的html()方法時,有時候里面添加的html代碼含有一些特殊字符,需要進行轉義。
如下例子:
- inst_html = "<a style=color:white' onmouseover = '";
- inst_html += "javascript:showme('"+inst.instId+"_"+valId+"');";
- inst_html += "' ";
- $("#inst_div_"+valId).html(inst_html);
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里面的'進行轉義改成',這樣就不報錯了。
如上例改為:
- inst_html = "<a style=color:white' onmouseover = '";
- inst_html += "javascript:showme('"+inst.instId+"_"+valId+"');";
- inst_html += "' ";
- $("#inst_div_"+valId).html(inst_html);
inst_html = "<a style=color:white' onmouseover = '"; inst_html += "javascript:showme('"+inst.instId+"_"+valId+"');"; inst_html += "' "; $("#inst_div_"+valId).html(inst_html);
部分字符轉義如下:
- &符號:"&", "&"
- 雙引號:"\"", """
- 小於號:"<", "<"
- 大於號:">", ">"
- 單引號:"'", "'"