JS中拼接HTML遇到转译单双引号问题

来源:互联网 发布:无经验美工如何面试 编辑:程序博客网 时间:2024/05/18 11:22

1.JS中拼接HTML遇到转译单双引号问题

   最外层使用单引号拼接时,属性及方法使用双引号,方法中需要传参数类型为字符串时则需要进行转译,否则参数显示到页面会有错误,点击方法是报错如下:


  

   加上转译符之后能正常显示方法中内容:  \'   转译成单引号



  



示例代码如下:

$.each(data.list,function(i,v){
        html+='<div class="mappic"><div class="mpic" onclick="mapInfoQuery(\''+v.id+'\',\''+v.name+'\',\''+v.knowledgeBaseId+'\');">'
        +'<img src='+v.imgPrefix+v.imgUrl+' alt=""></div>'
        +'<h4><a href="${ctx}/knowledge/knowledgeMapInfo/deleteMap?id='+v.id+'" onclick="return confirmx(\'确认要删除该地图吗?\', this.href)">'
        +'<i class=" pull-right deletet mapmari"></i></a>'+v.name
        +'</h4><p class="text_mark"><span class="">'+v.signNumber+'个标记位</span></p></div>'; 
});



2. Java中转译字符


  引号使用反斜杠转译即可:\

代码示例:
String jsonParam ="{\"id\":\""+positionId+"\",\"mapId\":\"\"}";
String url = UrlUtils.getKnowledgeMapInfoUrl();
HttpRequestUtil.httpPost(url, jsonParam);



  Java中斜杠也需要转译:使用双斜杠即可 \\

代码示例:

/**
  * 是否是正整数
  * @param str
  * @return
  */
 public boolean isNumeric(String str){
     Pattern pattern = Pattern.compile("^[1-9]\\d*$");
     Matcher isNum = pattern.matcher(str);
     if( !isNum.matches() ){
         return false;
     }
     return true;
 }





原创粉丝点击