Jquery的html方法里包含特殊字符的处理

      

在使用jquery的html()方法时,有时候里面添加的html代码含有一些特殊字符,需要进行转义。

如下例子:

Js代码 复制代码 收藏代码
  1. inst_html = "<a style=color:white' onmouseover = '";  
  2. inst_html += "javascript:showme('"+inst.instId+"_"+valId+"');";  
  3. inst_html += "'  ";  
  4. $("#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里面的'进行转义改成&#39;,这样就不报错了。

如上例改为:

Js代码 复制代码 收藏代码
  1. inst_html = "<a style=color:white' onmouseover = '";  
  2. inst_html += "javascript:showme(&#39;"+inst.instId+"_"+valId+"&#39;);";  
  3. inst_html += "'  ";  
  4. $("#inst_div_"+valId).html(inst_html);  
inst_html = "<a style=color:white' onmouseover = '";
inst_html += "javascript:showme(&#39;"+inst.instId+"_"+valId+"&#39;);";
inst_html += "'  ";
$("#inst_div_"+valId).html(inst_html);

 

部分字符转义如下:

  •  &符号:"&", "&amp;"
  • 双引号:"\"", "&quot;"
  • 小于号:"<", "&lt;"
  • 大于号:">", "&gt;"
  • 单引号:"'", "&#39;"
posted @ 2014-11-20 09:17  hannover  阅读(34364)  评论(0编辑  收藏  举报