在使用jquery的html()方法时,有时候里面添加的html代码含有一些特殊字符,需要进行转义。
如下例子:
Js代码
- 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里面的'进行转义改成',这样就不报错了。
如上例改为:
Js代码
- 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);
部分字符转义如下:
- &符号:"&", "&"
- 双引号:"\"", """
- 小于号:"<", "<"
- 大于号:">", ">"
- 单引号:"'", "'"