​jquery​​​​html()​​​​特殊字符​



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

如下例子:




Js代码 ​Jquery的html方法里包含特殊字符的处理_javascript​ Jquery的html方法里包含特殊字符的处理_特殊字符_02Jquery的html方法里包含特殊字符的处理_jquery_03


  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代码 ​Jquery的html方法里包含特殊字符的处理_javascript​ Jquery的html方法里包含特殊字符的处理_特殊字符_02Jquery的html方法里包含特殊字符的处理_jquery_03


  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;"